Commit Graph

37 Commits (1403dfc086b406650d4b3b38b38835b415cc55c9)

Author SHA1 Message Date
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
Kevin Bracey 284843fdb3 Restore mbed OS 5.4 mbed_lwip_ function prototypes
External EMAC drivers are currently directly attaching to lwip_stack.c
via mbed_lwip_bringup et al. Restore the original prototypes to avoid
compatibility breakage.
2017-06-02 14:30:25 +03:00
Kevin Bracey 42cd1e1fac Make lwip_stack.c include its header
Fix some type mismatches that this revealed.
2017-06-02 14:29:34 +03:00
Hasnain Virk b51fbe817b mbedtls md5 or lwip internal crypt Fudge
Some targets define MBEDTLS_md5_C in targets.json in order to force the system to use
external mbedtls instead of lwip internal crypt, i.e.,  polarssl.
LWIP's internal md5 mechanism is tied to PPP  for some reason. In a previosly merged commit
an attempt was made to steal md5 functions by faking that PPP was turned on. However
that solution was broken in case of really turning on PPP  functionality.

This commit fixes the breakage and also corrects the logic in case a target decides to use
external md5 implementation from mbedtls or otherwise (i.e, wants to stick to the internal
implementation).
2017-05-31 15:02:11 +03:00
Hasnain Virk 658ddf7c30 ARMCC link errors fixed, nsapi_ppp glue layer changed
GCC have not been capable enough to catch some linker errors which arose when
ethernet support for LWIP was disabled. Checks have been added to make sure that
unrefrenced code is not linked in.

nsapi_ppp glue layer is made more transparent to public cellular API. Storage of IP
addresses is removed. PPP layer already stores the addresses, so we pass the pointer back
to the upper layers.

If PPP is not used, we provide dummy functions.
2017-05-31 15:02:11 +03:00
Hasnain Virk 01088647b9 Finalizing the public API for Cellular
* state machine corrections
* adding various standard API methods
* Addition/revision/enhancement of the nsapi_ppp glue layer
* Turning off debug by default
2017-05-31 15:02:11 +03:00
Hasnain Virk 87a4580e5f Bug fixes & state machine corrections
In case of carrier lost, we would like to inform PPP data pump.
That involved setting up link status flag down semaphores.
mbed_lwip_bringup() and mbed_lwip_bringdown() had been Ethernet specific only.
We extend these routines to support PPP as well. Currently we support only one interface
at a time. However, future enhancement to multi interface support should be trivial.
2017-05-31 15:02:11 +03:00
Kevin Bracey 7e3c529d21 Unify LWIP Ethernet and PPP initialisation 2017-05-31 15:02:11 +03:00
Kevin Bracey be00c1720b Separate LWIP core and Ethernet interface initialisation
Will allow LWIP to be initialised for PPP use.
2017-05-31 15:02:11 +03:00
Kevin Bracey d0820d1ed3 Cope with different LWIP configurations 2017-05-31 15:02:11 +03:00
Mika Leppänen 55753be8ef lwip corrected coverity and compiler warnings
Coverity ids: 1373147 and 1374442.
2017-05-10 10:20:44 +03:00
Mika Leppänen 053139b85d lwip added support for random library and TCP ISN initialisation
lwip now uses mbed client random library under common pal when available.
Ported lwip reference TCP initial sequence number handling to mbed-os
lwip stack. Handling is based on RFC 6528.
2017-05-10 10:20:44 +03:00
Tony Wu 0b2bfca6da lwip - delay mbed_lwip_set_mac_address until device is inited
mbed_lwip_set_mac_address calls mbed_mac_address to get hwaddr
from device, but device may not be accessible until it is powered
up and initialized.

This patch delays mbed_lwip_set_mac_address call until device is
ready.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-04-28 00:30:40 +08:00
Anna Bridge ebfe04a841 Merge pull request #3975 from kjbracey-arm/lwip_buf_free
NSAPI/lwIP: Free held netbuf on close
2017-03-23 15:39:52 +00:00
Kevin Bracey 2f056f2814 NSAPI/lwIP: Free held netbuf on close
mbed_lwip_socket_recv() takes one netbuf at a time from the netconn API,
and it holds a partially-read netbuf if necessary in order to present as
a stream for TCP.

This held netbuf was not being freed when the socket was closed.
2017-03-21 11:14:39 +02:00
Mika Leppänen 30b6d2304d Set TCP socket created by accept to non-blocking mode 2017-02-21 14:31:10 +02:00
Mika Leppänen 93f02e4fed Renamed filter constant 2017-02-21 14:30:45 +02:00
Mika Leppänen 46396da1cf Added filter to send minus events to lwip adaptation 2017-02-13 09:50:38 +02:00
Anna Bridge 9e24117b68 Merge pull request #3403 from geky/lwip-fix-tcp-connect-error
lwip - Fixed error codes for failed TCP connect
2017-01-10 10:43:37 +00:00
Christopher Haster 6f375d20f8 lwip - Fixed missing dns servers after bringup with static ipv4 address
Generalized handling of dns servers when brought up with both ipv4 and
ipv6 addresses. Falls back to google dns servers if not dns server is
found through dhcp.

Also added support for the `add_dns_server` method to lwip to support
custom servers.
2017-01-04 12:12:16 -06:00
Christopher Haster 146577731e lwip - Fixed lwip connected state after bringup with static ips
Thanks to @YixiaoLi for noting this was incorrect
2017-01-04 12:10:47 -06:00
Christopher Haster 9b2a02f9ec lwip - Fixed error codes for failed TCP connect
condition               posix error     mbed error
good host, closed port  ECONNREFUSED    NSAPI_ERROR_NO_CONNECTION
bad host                EHOSTUNREACH    NSAPI_ERROR_NO_CONNECTION
bad network             ENETUNREACH     NSAPI_ERROR_NO_CONNECTION
2016-12-08 16:46:21 -06:00
Martin Kojtal e261e30d05 Merge pull request #3193 from mikaleppanen/lwip_ipv6_eth_down_supp
Added clearing of ipv6 addresses to lwip bringdown function
2016-11-29 18:13:35 +01:00
Anna Bridge 405f8937a7 Merge pull request #3191 from tung7970/fix-mbedos
Fix lwip_mac_address buffer overflow and set_ip_bytes out of bound access
2016-11-10 17:05:38 +00:00
Mika Leppänen 4babe02b62 Added clearing of ipv6 addresses to lwip bringdown function 2016-11-10 09:07:35 +02:00
Tony Wu d039d30abe lwip - Fix lwip_mac_address buffer overflow
Sounds serious, but should be benign.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2016-11-03 20:16:58 +08:00
Christopher Haster 78b9357c80 nsapi - Adopted standardized return types in lwip 2016-11-02 15:25:22 -05:00
Martin Kojtal ba47aa546b Merge pull request #2897 from geky/nsapi-consistent-unspec
nsapi - Standardize support of NSAPI_UNSPEC
2016-10-27 10:26:00 +02:00
Mika Leppänen 61c7f9821b Corrected lwip TCP socket accept ipv6 address conversion 2016-10-17 15:30:09 +03:00
Christopher Haster 6d9ac9fa8f lwip - Added support for NSAPI_UNSPEC to lwip 2016-10-05 12:48:15 -05:00
andreas.larsson 26eb5f19f2 Fixed mbed_lwip_get_netmask amd mbed_lwip_get_gateway 2016-10-04 16:40:15 +02:00
Bartek Szatkowski 1e7ba5fe79 Fix merge issues 2016-10-04 14:38:28 +01:00
Bartek Szatkowski ae11b51b26 Split lwip initialisation and interface bringup
Split IP stack initialisation from mbed_lwip_bringup to mbed_lwip_init.
2016-10-04 14:32:44 +01:00
Bartek Szatkowski 98eb50f592 Refactor lwip_stack function names to include mbed prefix
Mbed function names, prefixed with lwip are confusing, as the name
suggest that they are part of lwip ip stack.
2016-10-04 14:22:24 +01:00
Bartek Szatkowski d0be5733db EMAC: Fix LWIP_IPV4 and DEVICE_EMAC flag usage 2016-10-03 17:46:39 +01:00
Christopher Haster 5cd2d7869e Merge remote-tracking branch 'upstream/master' into feature_wifi_ublox_merge 2016-10-02 07:29:07 -05:00
Christopher Haster ba99a1f31d restructure - Restructured features/net directory
features/net/network-socket -> features/netsocket
features/net/FEATURE_IPV4 -> features/FEATURE_LWIP
features/net/nanostack-binaries -> features/nanostack
features/net/FEATURE_NANOSTACK -> features/nanostack/FEATURE_NANOSTACK
2016-09-30 19:18:09 -05:00