From 126fa9b561e9313a70cad58ea2fbb278aa2fe65e Mon Sep 17 00:00:00 2001 From: chenyong <1521761801@qq.com> Date: Tue, 23 Apr 2019 15:08:10 +0800 Subject: [net][netdev] Improve netdev DNS setting function --- components/net/netdev/src/netdev.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'components/net/netdev/src/netdev.c') diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 4dde5f2f9c..c5b4d0e321 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -9,6 +9,7 @@ */ #include +#include #include #include @@ -510,7 +511,7 @@ int netdev_set_dns_server(struct netdev *netdev, uint8_t dns_num, const ip_addr_ } /* execute network interface device set DNS server address operations */ - return netdev->ops->set_dns_server(netdev, (ip_addr_t *)dns_server); + return netdev->ops->set_dns_server(netdev, dns_num, (ip_addr_t *)dns_server); } /** @@ -1028,7 +1029,7 @@ static void netdev_list_dns(void) rt_hw_interrupt_enable(level); } -static void netdev_set_dns(char *netdev_name, char *dns_server) +static void netdev_set_dns(char *netdev_name, uint8_t dns_num, char *dns_server) { struct netdev *netdev = RT_NULL; ip_addr_t dns_addr; @@ -1041,7 +1042,7 @@ static void netdev_set_dns(char *netdev_name, char *dns_server) } inet_aton(dns_server, &dns_addr); - netdev_set_dns_server(netdev, 0, &dns_addr); + netdev_set_dns_server(netdev, dns_num, &dns_addr); rt_kprintf("set network interface device(%s) dns server #0: %s\n", netdev_name, dns_server); } @@ -1054,11 +1055,16 @@ int netdev_dns(int argc, char **argv) } else if (argc == 3) { - netdev_set_dns(argv[1], argv[2]); + netdev_set_dns(argv[1], 0, argv[2]); + } + else if (argc == 4) + { + netdev_set_dns(argv[1], atoi(argv[2]), argv[3]); } else { - rt_kprintf("bad parameter! e.g: dns name 114.114.114.114\n"); + rt_kprintf("bad parameter! input: dns [dns_num] \n"); + return -1; } return 0; -- cgit v1.3.1