Merge pull request #2986 from Lawlieta/develop

Fix dns server address set error and improve the default netdev set operations
This commit is contained in:
Bernard Xiong authored and GitHub committed 2019-08-22 20:36:58 +08:00
commit 200f3d4480
8 files changed
+117 -80

No files matched your search

+4 -3
View File
@@ -279,13 +279,14 @@ dns_setserver(u8_t numdns, ip_addr_t *dnsserver)
dns_servers[numdns] = (*dnsserver);
#ifdef RT_USING_NETDEV
extern struct netif *netif_default;
extern struct netif *netif_list;
extern struct netdev *netdev_get_by_name(const char *name);
extern void netdev_low_level_set_dns_server(struct netdev *netdev, uint8_t dns_num, const ip_addr_t *dns_server);
struct netif *netif = NULL;
/* set network interface device DNS server address */
if (netif_default) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif_default->name), numdns, dnsserver);
for (netif = netif_list; netif != NULL; netif = netif->next) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif->name), numdns, dnsserver);
}
#endif /* RT_USING_NETDEV */
}
@@ -253,6 +253,12 @@ void lwip_netdev_netstat(struct netdev *netif)
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
static int lwip_netdev_set_default(struct netdev *netif)
{
netif_set_default((struct netif *)netif->user_data);
return ERR_OK;
}
const struct netdev_ops lwip_netdev_ops =
{
lwip_netdev_set_up,
@@ -282,6 +288,8 @@ const struct netdev_ops lwip_netdev_ops =
lwip_netdev_netstat,
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
lwip_netdev_set_default,
};
static int netdev_add(struct netif *lwip_netif)
+4 -3
View File
@@ -370,13 +370,14 @@ dns_setserver(u8_t numdns, const ip_addr_t *dnsserver)
dns_servers[numdns] = (*dnsserver);
#ifdef RT_USING_NETDEV
extern struct netif *netif_default;
extern struct netif *netif_list;
extern struct netdev *netdev_get_by_name(const char *name);
extern void netdev_low_level_set_dns_server(struct netdev *netdev, uint8_t dns_num, const ip_addr_t *dns_server);
struct netif *netif = NULL;
/* set network interface device DNS server address */
if (netif_default) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif_default->name), numdns, dnsserver);
for (netif = netif_list; netif != NULL; netif = netif->next) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif->name), numdns, dnsserver);
}
#endif /* RT_USING_NETDEV */
} else {
@@ -261,6 +261,12 @@ void lwip_netdev_netstat(struct netdev *netif)
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
static int lwip_netdev_set_default(struct netdev *netif)
{
netif_set_default((struct netif *)netif->user_data);
return ERR_OK;
}
const struct netdev_ops lwip_netdev_ops =
{
lwip_netdev_set_up,
@@ -290,6 +296,8 @@ const struct netdev_ops lwip_netdev_ops =
lwip_netdev_netstat,
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
lwip_netdev_set_default,
};
static int netdev_add(struct netif *lwip_netif)
+4 -3
View File
@@ -367,13 +367,14 @@ dns_setserver(u8_t numdns, const ip_addr_t *dnsserver)
dns_servers[numdns] = (*dnsserver);
#ifdef RT_USING_NETDEV
extern struct netif *netif_default;
extern struct netif *netif_list;
extern struct netdev *netdev_get_by_name(const char *name);
extern void netdev_low_level_set_dns_server(struct netdev *netdev, uint8_t dns_num, const ip_addr_t *dns_server);
struct netif *netif = NULL;
/* set network interface device DNS server address */
if (netif_default) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif_default->name), numdns, dnsserver);
for (netif = netif_list; netif != NULL; netif = netif->next) {
netdev_low_level_set_dns_server(netdev_get_by_name(netif->name), numdns, dnsserver);
}
#endif /* RT_USING_NETDEV */
} else {
@@ -262,6 +262,12 @@ void lwip_netdev_netstat(struct netdev *netif)
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
static int lwip_netdev_set_default(struct netdev *netif)
{
netif_set_default((struct netif *)netif->user_data);
return ERR_OK;
}
const struct netdev_ops lwip_netdev_ops =
{
lwip_netdev_set_up,
@@ -291,6 +297,8 @@ const struct netdev_ops lwip_netdev_ops =
lwip_netdev_netstat,
#endif /* RT_LWIP_TCP || RT_LWIP_UDP */
#endif /* RT_USING_FINSH */
lwip_netdev_set_default,
};
static int netdev_add(struct netif *lwip_netif)
+3
View File
@@ -137,6 +137,9 @@ struct netdev_ops
int (*ping)(struct netdev *netdev, const char *host, size_t data_len, uint32_t timeout, struct netdev_ping_resp *ping_resp);
void (*netstat)(struct netdev *netdev);
#endif
/* set default network interface device in current network stack*/
int (*set_default)(struct netdev *netdev);
};
/* The network interface device registered and unregistered*/
File diff suppressed because it is too large. Load diff