lwIP adds now PPP DNS servers to default interface

If PPP interface is the lwIP default interface, adds the PPP DNS
servers to default DNS server storage. If PPP is not default
interface, then adds DNS servers to interface specific storage.
pull/10974/head
Mika Leppänen 2019-08-08 14:41:20 +03:00
parent e3f247793a
commit 3951422824
1 changed files with 6 additions and 2 deletions

View File

@ -105,12 +105,16 @@ void LWIP::Interface::ppp_state_change(bool up)
}
unsigned char dns_index = 0;
// If default interface set default DNS addresses, otherwise interface specific
struct netif *dns_netif = &netif;
if (netif_check_default(&netif)) {
dns_netif = NULL;
}
for (unsigned char index = 0; index < 2; index++) {
ip_addr_t dns_server;
const nsapi_addr_t *ipv4_dns_server = LWIP::Interface::ppp->get_dns_server(index);
if (ipv4_dns_server && convert_mbed_addr_to_lwip(&dns_server, ipv4_dns_server)) {
dns_setserver(dns_index++, &dns_server, &netif);
dns_setserver(dns_index++, &dns_server, dns_netif);
}
}
}