Commit Graph

198 Commits (b1ff37cdee4f9986d3642d09659d29be1e4386ed)

Author SHA1 Message Date
Mika Leppänen 32131b61a8 Improved manual DNS address addition for dual stack case
If DHCP or PPP does not provide DNS addresses, for dual stack, adds both ipv4
and ipv6 DNS addresses to DNS list.
2017-08-23 16:47:17 +03:00
Mika Leppänen 0d5ac6e78d Relocated lwip memory pool on memory restricted platforms 2017-08-23 16:47:16 +03:00
Mika Leppänen 942aec5e4b Corrected lwip to enable disabling of ipcp and ipv6cp protocols 2017-08-22 13:14:41 +03:00
Mika Leppänen dd346ec5a8 Either ipv4 or ipv4v6 PPP and IP stacks are enabled based on 3GPP context 2017-08-22 13:14:41 +03:00
Mika Leppänen 457f940a7c Added Ipv4/Ipv6 stack stack support to lwip DNS queries
If both IPv4 and IPv6 are available, and DNS query fails for first system,
second system is tried.
2017-08-22 13:14:40 +03:00
Mika Leppänen b1d41f9afd Corrected lwip not to send NS probes when link layer address is not available 2017-08-22 13:14:40 +03:00
Mika Leppänen 2adbf721d2 Added dual Ipv4/Ipv6 stack support to lwip address configuration
Added new configuration option "both-addr-timeout" that defines
how long to wait that addresses from both systems become available.
2017-08-22 13:14:40 +03:00
Mika Leppänen 41c647b1c9 Added hex dump tracing to ipv6, ipv4 and ppp modules 2017-08-22 10:17:21 +03:00
Mika Leppänen 23f8ac903e Removed random and tcp_isn modules header dependencies to lwip conf 2017-08-22 10:17:20 +03:00
Mika Leppänen 5fdd7239d9 Corrections to lwip ipv6 neighbor discovery
Merged lwip 2.0.2 stable path 1 from https://github.com/ARMmbed/lwip

Patch allows lwip to do autonomous address configuration for prefixes
that are not on-link.

ad7cf16 Add David's IPv6 improvements to CHANGELOG
af9d783 Fix (bogus) MSVC 2010 warning about uninitialized variable usage in ip6.c It's wrong because the variables are initialized during first loop iteration due to best_addr == NULL
68358d7 nd6: cull destination cache on router removal
7323fa1 nd6: some work on basic RFC 4861 compliance
10eb2ca ip6: improve source address selection
6c06ecd ip6/nd6: route using on-link prefixes, not addresses
9f1714d nd6: improve router selection
2486b41 netif: more ip6 state changes invoke status callback
519d809 nd6: fix Duplicate Address Detection
9f3c6dd nd6: check link status before sending packets
8c761a2 nd6: improve address autoconfiguration support
2017-08-22 10:17:20 +03:00
Jimmy Brisson 0150f58e12 Merge pull request #4608 from OpenNuvoton/nuvoton_m487
Support Nuvoton's new target NUMAKER_PFM_M487
2017-08-14 11:35:33 -05:00
Jimmy Brisson 59f313b028 Merge pull request #4859 from geky/tests-copyrights
Add copyright header to all tests
2017-08-10 09:39:34 -05:00
Christopher Haster 4cad764162 Added copyright header to all tests 2017-08-07 12:02:33 -05:00
Mika Leppänen 02069f1a09 Added contributing document. 2017-08-03 11:49:44 +03:00
ccli8 afb5aba8d9 [M487] Fix compile warnings with IAR toolchain 2017-08-03 13:33:17 +08:00
ccli8 99d12b1eb8 [M487] Fix compile warnings with GCC_ARM toolchain 2017-08-03 11:10:15 +08:00
cyliangtw 8f67774fd9 [M487] Revise EMAC to fulfill real-chip 2017-08-01 10:31:26 +08:00
cyliangtw dae0a4c30c [M487] support unique locally administered MAC address 2017-08-01 10:19:53 +08:00
cyliangtw 1b0b82a142 [M487] Support ethernet after enlarge PHY RXD driving 2017-08-01 10:19:28 +08:00
cyliangtw b91f064be7 [M487] Add CAN, AES and Eth 2017-08-01 10:18:54 +08:00
Mika Leppänen 844e400aa2 Merged lwip 2.0.2 stable
* commit '7bbc850309fed8bf63017821f18aff03bca9233b':
  Squashed 'features/FEATURE_LWIP/lwip-interface/lwip/' changes from 10f93f4..7648b58
2017-07-24 13:17:40 +03:00
Martin Kojtal 7d1e87a5b3 Merge pull request #4677 from u-blox/ppp_stack_increase
Increase default PPP stack size from 512 bytes to 768 bytes.
2017-07-13 16:44:30 +02:00
Anna Bridge 744b2a2579 Merge pull request #4546 from bridadan/fix_test_prints
Fix bad test print and move locks for printf into macro.
2017-07-07 12:44:50 +01:00
Anna Bridge 4890261c98 Merge pull request #4548 from deepikabhavnani/os_warn
Resolve Warnings for mbed-os-examples
2017-07-07 12:43:27 +01:00
Rob Meades 921d1fa6fa Increase PPP stack size from 512 bytes to 768 bytes.
PPP is running close to the edge of its default thread stack size of 512 bytes. When it experiences an FCS error on the incoming data (for example. caused by character loss when the incoming serial rate is too high for it to process in time) it performs some additional work which overruns the thread's stack, hitting the OS "stack underflow" check. Increasing the PPP stack size to 768 bytes resolves this problem.
2017-07-03 09:46:23 +01:00
Anna Bridge b30481d266 Merge pull request #4523 from hasnainvirk/eth_flag_lwip
Check Ethernet before including lwipopts_conf.h
2017-06-20 11:40:23 +01:00
Jimmy Brisson c08864b588 Merge pull request #4444 from Archcady/lwip_issue
resolve lwip init twice issue
2017-06-19 18:28:49 -05:00
Deepika 7e9ea9c665 Resolved format warnings: format '%d' expects argument of type 'int', but argument 3 has type 'u32_t[-Wformat=] 2017-06-15 15:20:26 -05:00
Sam Grove 109269da9c Merge pull request #4414 from tkaman/master
Enable CM3DS_MPS2 target
2017-06-15 11:20:09 -05:00
Brian Daniels 0eb174912e Fix bad test print and move locks for printf into macro.
A message of "Failed to close socket" was always being printed, not
just when the socket failed to close. This patch fixes this in
addition to a simplifying the call to a thread safe printf.
2017-06-13 16:28:16 -05:00
Yuguo Zou b1ca77b6b8 A better approach to flip "netif_inited" 2017-06-13 18:04:00 +08:00
Russ Butler 9620b0fc7f STM32 - fix bug were sockets stop receiving data
The function _eth_arch_low_level_input() is meant to pass data into
LWIP and to prepare the ethernet buffers to receive more data.
If the LWIP heap is empty and the call to pbuf_alloc() in
_eth_arch_low_level_input returns null, the ethernet receive buffers
are not updated to receive data. Because of this the ethernet RX
interrupt will not fire. Since the RX interrupt is the only thing that
triggers a call to _eth_arch_low_level_input(), the receive buffers
will never get cleared, and the device stops receiving data.

To prevent this from happening, this patch ensures that the function
_eth_arch_low_level_input() clears the receive buffers even if a new
pbuf for the data couldn't be allocated.

This issue can be reproduce by running the test
"features-feature_lwip-tests-mbedmicro-net-udp_echo_parallel"
and on the same machine running the below python script to flood the
device with UDP broadcast packets:

MY_IP = #ADD your local IP here
from socket import *
s = socket(AF_INET, SOCK_DGRAM)
s.bind((MY_IP, 1234))
s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
for _ in range(1000):
    s.sendto("test data", ('255.255.255.255', 1234))
print("Message sent")
2017-06-12 22:18:04 -05:00
Hasnain Virk d29e05896f Check Ethernet before including lwipopts_conf.h
lwipopts_conf.h is used by target dependent Ethernet drivers for
configuring various parameters.
By default, Ethernet is enabled and in this case lwipopts_conf.h
will be included.
In case of PPP  being enabled, it is desirable to not pull in any Ethernet
related code.
2017-06-12 09:57:16 +03:00
Martin Kojtal d0d7c6f4f6 lwip: fix stm32f4 eth conf file
This file is moved to targets that support eth. It can't be common for any F4, as
not all targets from this family support eth.
2017-06-10 15:20:30 +01:00
Brian Daniels 4f5a199336 Fix bad print message in test 2017-06-10 15:14:28 +01:00
Brian Daniels 94b4160347 Fixing bad asserts 2017-06-10 15:14:28 +01:00
Brian Daniels c38b709685 Cleaning up udp tests 2017-06-10 15:14:28 +01:00
Brian Daniels ccad027fa7 Adding comments describing buffer prep functions 2017-06-10 15:14:28 +01:00
Brian Daniels 388968f76b Simplifying assert statements 2017-06-10 15:14:28 +01:00
Brian Daniels 6e76fce4fc Specifying default length of UUID for Greentea
This creates a macro for the UUID length used by Greentea. This cuts
down on the use of "magic numbers" in test cases that use
the GREENTEA_SETUP_UUID function.
2017-06-10 15:14:28 +01:00
Christopher Haster d451d1795e Moved network test buffers into heap
This is a workaround for IAR's lack of flexibility with memory regions.
Otherwise these tests would use very little heap and be mostly global
allocations.
2017-06-10 15:14:28 +01:00
Christopher Haster 467eb342f0 lwip: Migrated to utest framework
per @bridadan
2017-06-10 15:14:28 +01:00
Christopher Haster 0887683a13 lwip: Fixed count of udp iterations to reflect attempts 2017-06-10 15:14:28 +01:00
Christopher Haster 036f1cdfd4 lwip: Added udp buffer flushing after dropped packets
Avoids getting stuck in loop where the device always picks
up the previous test's packets
2017-06-10 15:14:28 +01:00
Christopher Haster f11f2b35e0 lwip: Increased DHCP timeout to 60 seconds
This matches the timeout used in linux:
https://linux.die.net/man/5/dhclient.conf

This resolves several issues noticed during testing when we
have a very large number of devices that try to get an IP address
around the same time.
2017-06-10 15:14:28 +01:00
Brian Daniels 70dd7cc273 Fixing some issues in the tcp/udp tests 2017-06-10 15:14:28 +01:00
Brian Daniels f313bc2988 Arranging logic in test to prevent left-over behavior 2017-06-10 15:14:28 +01:00
Brian Daniels dc87aaad1c Making udp_echo_parallel test more robust against network issues.
Making the test more forgiven for minor networking issues. Also adding
more debug prints to make it easier to see which packets are coming from
where.
2017-06-10 15:14:28 +01:00
Brian Daniels acaf435d64 Making UDP test less strict on dropped/mismatched packets.
Before, the UDP test was very strict on the number of packets it would
try to match before failing. Now it will keep trying for the whole test
to get enough passing packets. It also includes the test's UUID so you
can validate which packets are being received.
2017-06-10 15:14:28 +01:00
Brian Daniels 98a5262361 Adding failure logs to TCP echo test.
This adds some extra logs to the test for debugging purposes. Also
allows the test to fail immediately if it fails to obtain an IP address.
2017-06-10 15:14:28 +01:00