Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Support cellular IPv4v6 dual stack in LWIP #4911
Cellular IPv4v6 dual stack support to lwip.
nsapi_ppp.h function nsapi_ppp_connect(): Added "const nsapi_ip_stack_t stack" parameter
ppp_lwip.h function ppp_lwip_if_init(): Added "const nsapi_ip_stack_t stack" parameter
lwip_stack.h function mbed_lwip_bringup_2(): Added "const nsapi_ip_stack_t stack" parameter
Steps to test or reproduce
There will be issues while using dual stack config, as 'add_dns_addr()' function is still not changed in relation to this PR. This particular function calls dns_setserver() internally with same index , so essentially you will overwrite your previous config.
"Hasnain: there will be issues while using dual stack config, as 'add_dns_addr()".
Yes, this could be improved maybe so that in dual stack system the DNS resolution could fallback to non-preferred system if it does not for some reason work in more preferred. I'll test this a little to see
There is no absolute need to modify the function since the IP address get function (mbed_lwip_get_ip_addr()) fetches either the preferred systems IP address or if not available the non-preferred. So a either ipv4 or ipv6 DNS server (google) will be always added to list if network has not provided DNS server.
Review defects corrected.
I improved the DNS address addition functionality in case network does not provide DNS server addresses. Now in dual mode both ipv4 and ipv6 DNS addresses are added in order of preference defined by flag configuration.
Corrected IAR memory pools relocation for UBLOX_C027.
Corrected interface up/down/up/down error detected by Jenkins.