From db11320800688d2efc79b0453884874428889c09 Mon Sep 17 00:00:00 2001 From: gitee <27161916@qq.com> Date: Sun, 6 Feb 2022 19:04:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?ifconfig=E5=A2=9E=E5=8A=A0DHCP=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/net/netdev/src/netdev.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index f121f52c19..1511fe68dd 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2021, RT-Thread Development Team + * Copyright (c) 2006-2022, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -1033,6 +1033,28 @@ int netdev_ifconfig(int argc, char **argv) { netdev_list_if(); } + else if (argc == 3) + { + if (!strcmp(argv[2], "dhcp")) + { + struct netdev *netdev = RT_NULL; + netdev = netdev_get_by_name(argv[1]); + netdev_dhcp_enabled(netdev, 1); + rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "1"); + } + else if (!strcmp(argv[2], "-dhcp")) + { + struct netdev *netdev = RT_NULL; + netdev = netdev_get_by_name(argv[1]); + netdev_dhcp_enabled(netdev, 0); + rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "0"); + } + else + { + rt_kprintf("bad parameter! e.g: ifconfig e1 dhcp\n"); + rt_kprintf("bad parameter! e.g: ifconfig e1 -dhcp\n"); + } + } else if (argc == 5) { rt_kprintf("config : %s\n", argv[1]); @@ -1044,6 +1066,8 @@ int netdev_ifconfig(int argc, char **argv) else { rt_kprintf("bad parameter! e.g: ifconfig e0 192.168.1.30 192.168.1.1 255.255.255.0\n"); + rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp\n"); + rt_kprintf("bad parameter! e.g: ifconfig e0 -dhcp\n"); } return 0; -- Gitee From 8a1f188815a28cec04ec3e65b65b660c9ca78c84 Mon Sep 17 00:00:00 2001 From: gitee <27161916@qq.com> Date: Tue, 8 Feb 2022 20:33:44 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9dhcp=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/net/netdev/src/netdev.c | 36 ++++++++++++++---------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 1511fe68dd..53f40edda5 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1033,26 +1033,24 @@ int netdev_ifconfig(int argc, char **argv) { netdev_list_if(); } - else if (argc == 3) + else if (argc == 4) { if (!strcmp(argv[2], "dhcp")) { - struct netdev *netdev = RT_NULL; - netdev = netdev_get_by_name(argv[1]); - netdev_dhcp_enabled(netdev, 1); - rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "1"); - } - else if (!strcmp(argv[2], "-dhcp")) - { - struct netdev *netdev = RT_NULL; - netdev = netdev_get_by_name(argv[1]); - netdev_dhcp_enabled(netdev, 0); - rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "0"); - } - else - { - rt_kprintf("bad parameter! e.g: ifconfig e1 dhcp\n"); - rt_kprintf("bad parameter! e.g: ifconfig e1 -dhcp\n"); + if (!strcmp(argv[3], "on")) + { + struct netdev *netdev = RT_NULL; + netdev = netdev_get_by_name(argv[1]); + netdev_dhcp_enabled(netdev, 1); + rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "on"); + } + else if (!strcmp(argv[3], "off")) + { + struct netdev *netdev = RT_NULL; + netdev = netdev_get_by_name(argv[1]); + netdev_dhcp_enabled(netdev, 0); + rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "off"); + } } } else if (argc == 5) @@ -1066,8 +1064,8 @@ int netdev_ifconfig(int argc, char **argv) else { rt_kprintf("bad parameter! e.g: ifconfig e0 192.168.1.30 192.168.1.1 255.255.255.0\n"); - rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp\n"); - rt_kprintf("bad parameter! e.g: ifconfig e0 -dhcp\n"); + rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp on\n"); + rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp off\n"); } return 0; -- Gitee From f8942c89f8ffb9f64848a2ac50f99fff3af2d132 Mon Sep 17 00:00:00 2001 From: gitee <27161916@qq.com> Date: Sun, 13 Feb 2022 14:01:54 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96DHCP=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/net/netdev/src/netdev.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 53f40edda5..f478a36516 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1008,6 +1008,12 @@ static void netdev_set_if(char* netdev_name, char* ip_addr, char* gw_addr, char* return; } + /*auto close DHCP*/ + if (netdev_is_dhcp_enabled(netdev)) + { + netdev_dhcp_enabled(netdev, 0); + } + /* set IP address */ if ((ip_addr != RT_NULL) && inet_aton(ip_addr, &addr)) { @@ -1033,24 +1039,14 @@ int netdev_ifconfig(int argc, char **argv) { netdev_list_if(); } - else if (argc == 4) + else if (argc == 3) { if (!strcmp(argv[2], "dhcp")) { - if (!strcmp(argv[3], "on")) - { - struct netdev *netdev = RT_NULL; - netdev = netdev_get_by_name(argv[1]); - netdev_dhcp_enabled(netdev, 1); - rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "on"); - } - else if (!strcmp(argv[3], "off")) - { - struct netdev *netdev = RT_NULL; - netdev = netdev_get_by_name(argv[1]); - netdev_dhcp_enabled(netdev, 0); - rt_kprintf("config : %s func : %s value : %s\n", argv[1], "dhcp", "off"); - } + struct netdev *netdev = RT_NULL; + netdev = netdev_get_by_name(argv[1]); + rt_kprintf("config : %s func : DHCP ON\n", argv[1]); + netdev_dhcp_enabled(netdev, 1); } } else if (argc == 5) @@ -1064,8 +1060,7 @@ int netdev_ifconfig(int argc, char **argv) else { rt_kprintf("bad parameter! e.g: ifconfig e0 192.168.1.30 192.168.1.1 255.255.255.0\n"); - rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp on\n"); - rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp off\n"); + rt_kprintf("bad parameter! e.g: ifconfig e0 dhcp \n"); } return 0; -- Gitee