diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 0d8cd15a5d6dd1c5ebc30a30e70d4bc0cc423aa2..7c4c50671108601255b4144b649bbe41d6cc9714 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2019, RT-Thread Development Team + * Copyright (c) 2006-2022, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -996,6 +996,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]); @@ -1006,7 +1028,9 @@ 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 e1 192.168.1.30 192.168.1.1 255.255.255.0\n"); + rt_kprintf("bad parameter! e.g: ifconfig e1 dhcp\n"); + rt_kprintf("bad parameter! e.g: ifconfig e1 -dhcp\n"); } return 0;