Commit Graph

16 Commits (9b87551d40030c928a235af95f8e4efbf84ec1ab)

Author SHA1 Message Date
Arun S 9b87551d40 Remove ethernet interface logic for SoftAP and STA
Issue: The problem is that there is a race condition introduced in that the LWIP thread is relying on the
interface as it is taken down by a application thread while calling disconnect.
In disconnect api called from application context, whd_emac_wifi_link_state_changed() will refer to netif interface
structure in its callback api netif_link_irq(netif). This netif will be cleared by remove_etherent_interface().
whd_emac_wifi_link_state_changed will post message to tcpip_thread. tcpip_thread will process the message and
call the callback api netif_link_irq(netif)
Calling sequence is whd_emac_wifi_link_state_changed -> remove_etherent_interface(). Hence there is a timing issue
that netif might be cleared first before tcpip thread process the message netif_link_irq(netif)

Fix: remove_etherent_interface() will post message to tcpip thread and tcpip:
thread process the message delete_interface()
which will actually remove the inferface from the netif_list.
Calling sequence is whd_emac_wifi_link_state_changed() message post -> remove_etherent_interface() message post.
message processing order netif_link_irq(netif) -> delete_interface().
Since both the processing is handled in single thread, processing of message is handled sequentially.
2020-04-21 22:15:25 +05:30
Michal Paszta fd5b4b9119 Deprecate string-based APIs in IPCore
MBED_DEPRECATE macros is added to string-based APIs.
New, non-string-based APIs are added in their place.
Wiced binaries rebuilt
Any existing stubs or mocks are adjusted to compile and run with the newly added non-string based functions.
2019-11-22 11:31:12 +02:00
Anna Bridge 7cfa6faa5b
Merge pull request #11714 from tymoteuszblochmobica/linklocal
LWIP::get_ipv6_addr for link-local only
2019-11-15 12:32:54 +00:00
Tymoteusz Bloch 6514433b68 LWIP::get_ipv6_addr fixed to avoid returning NULL even if only linklocal adress exits. 2019-11-14 17:19:54 +01:00
Jayasankar Nara cb51fa57e2 Add API to get ipv6 link local address.
Protocols like mdns requires IPv6 link local address to be advertised in its
records (AAAA record). LWIP::Interface::bringup() API is creating IPv6 link
local address;But as of now there is no API exposed by mbed-os to get the
IPv6 link local address.

This new API is required to deliver mDNS library support on mbed-os for Cypress
platforms. Unit tested it by invoking get_ipv6_link_local_address with a simple
application.
2019-11-01 03:43:36 +05:30
Mika Leppänen 3864e12172 lwIP changes for PPP service
Created (a new) PPP interface for PPP service. Removed lwip
dependencies to PPP (memory allocations etc.). Moved PPP
configuration options away from lwIP mbed_lib.json to new
PPP service. For backwards compatibility, using the old
options is also currently supported.
2019-08-20 13:37:12 +03:00
Tymoteusz Bloch 4005c77f21 LWIP DNS servers setting/getting fixed. 2019-06-07 18:58:05 +02:00
Tymoteusz Bloch 7d13b758cb L3IP input now use tcpip_input instead of ip_input 2019-04-10 17:49:04 +02:00
Teppo Järvelin 5680ce5f56 Increased timeout for lwip waiting netif_is_link_up
Cellular PPP connect fails too often if timeout is 15s so increased to 60 seconds.
Tested to be enough with BG96 and MTB_MTS_DRAGONFLY.
2019-03-05 12:08:35 +02:00
Tymoteusz Bloch 49141376ee Multihoming initial release
Added Multihoming feature to LWIP (ability to use more than one network interfaces) for increasing networking reliability.
This involves:

    LWIP interface
    LWIP IP routing
    DNS storage
    Sockets (bind to interface name possibility)
    possibility to add non default network interface
    cellular middleware modifications if cellular connection is used
2019-02-19 17:39:46 +02:00
Seppo Takalo 6c5b845517 Clarify asyncronous Networkinterface::connect() and disconnect() API
This is slight API change, as a new return code is introduced.
Intention is to properly support asyncronous drivers that might
not be able to get new operation into execution, therefore they
need to return BUSY.
2019-01-18 15:36:23 +02:00
Tymoteusz Bloch fc88922845 L3IP Interface Implementation
LWIP L3IP interface initial implementatioon
2018-12-20 15:23:43 +01:00
Kari Haapalehto d828d2d279 Change error code from NSAPI_ERROR_PARAMETER to NSAPI_ERROR_NO_CONNECTION
in a case were there wasn't connection.
2018-11-23 11:54:34 +02:00
Martin Kojtal 41c1901318 lwipstack: fix astyle coding style 2018-11-07 08:56:35 +00:00
Michal Paszta bc2a1c1a71 Fix status sequence and reporting for LWIP stack 2018-10-15 14:35:39 +02:00
Seppo Takalo e4d1a9a85a Remove FEATURE_LWIP. The LwIP stack is enabled on all builds now
Leave the FEATURE_LWIP enabled in build scripts so that it does
not break any builds.

Removed 'feature_add: ["LWIP"]' on all targets.
2018-06-21 11:00:00 +03:00