1# Copyright (c) 2016 Intel Corporation. 2# Copyright (c) 2021 Nordic Semiconductor 3# Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved. 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig NET_SHELL 7 bool "Network shell utilities" 8 select SHELL 9 select NET_IPV4_IGMP if NET_NATIVE_IPV4 10 select REQUIRES_FLOAT_PRINTF 11 help 12 Activate shell module that provides network commands like 13 ping to the console. 14 15if NET_SHELL 16 17config NET_SHELL_SHOW_DISABLED_COMMANDS 18 bool "Show disabled command information" 19 default y 20 help 21 By default all the network shell commands are there and the 22 command itself will print out that it is disabled and how to 23 enable it. If you do not need this and only want to see the 24 commands that you can actively use, then you can save a little 25 bit of flash by not showing commands that cannot be used with 26 current configuration. 27 28config NET_SHELL_ETHERNET_SUPPORTED 29 bool "Ethernet related configuration" 30 default y 31 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_L2_ETHERNET 32 33config NET_SHELL_CAPTURE_SUPPORTED 34 bool "Packet capture configuration" 35 default y 36 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_CAPTURE 37 38config NET_SHELL_DHCPV4_SUPPORTED 39 bool "DHCPv4 start / stop" 40 default y 41 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_DHCPV4_SERVER || NET_DHCPV4 42 43config NET_SHELL_DHCPV6_SUPPORTED 44 bool "DHCPv6 start / stop" 45 default y 46 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_DHCPV6 47 48config NET_SHELL_DNS_RESOLVER_SUPPORTED 49 bool "DNS resolver" 50 default y 51 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || DNS_RESOLVER 52 53config NET_SHELL_EVENT_MONITOR_SUPPORTED 54 bool "Network management event monitoring configuration" 55 default y 56 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_MGMT_EVENT_MONITOR 57 58config NET_SHELL_GPTP_SUPPORTED 59 bool "gPTP monitoring" 60 default y 61 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_GPTP 62 63config NET_SHELL_HTTP_SERVER_SUPPORTED 64 bool "HTTP server status" 65 default y 66 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || HTTP_SERVER 67 68config NET_SHELL_CONNECTION_MANAGER_SUPPORTED 69 bool "Connection manager status" 70 default y 71 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_CONNECTION_MANAGER 72 73config NET_SHELL_IPV4_SUPPORTED 74 bool "IPv4 config" 75 default y 76 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || (NET_NATIVE_IPV4 && NET_IPV4) 77 78config NET_SHELL_IPV6_SUPPORTED 79 bool "IPv6 config" 80 default y 81 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || (NET_NATIVE_IPV6 && NET_IPV6) 82 83config NET_SHELL_IP_SUPPORTED 84 bool "Generic IP utilities" 85 default y 86 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_IP 87 88config NET_SHELL_PKT_ALLOC_SUPPORTED 89 bool "Packet allocation monitoring" 90 default y 91 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_DEBUG_NET_PKT_ALLOC 92 93config NET_SHELL_PKT_FILTER_SUPPORTED 94 bool "Network packet filter related configuration" 95 default y 96 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_PKT_FILTER 97 98config NET_SHELL_PMTU_SUPPORTED 99 bool "PMTU config" 100 default y 101 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_PMTU 102 103config NET_SHELL_PPP_SUPPORTED 104 bool "PPP config" 105 default y 106 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_L2_PPP 107 108config NET_SHELL_POWER_MANAGEMENT_SUPPORTED 109 bool "Network power management resume / suspend" 110 default y 111 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_POWER_MANAGEMENT 112 113config NET_SHELL_ROUTE_SUPPORTED 114 bool "IP routing config" 115 default y 116 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || (NET_ROUTE && NET_NATIVE) 117 118config NET_SHELL_SOCKETS_SERVICE_SUPPORTED 119 bool "Socket service status" 120 default y 121 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_SOCKETS_SERVICE 122 123config NET_SHELL_STATISTICS_SUPPORTED 124 bool "Network statistics monitoring" 125 default y 126 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_STATISTICS 127 128config NET_SHELL_TCP_SUPPORTED 129 bool "Send / receive TCP data" 130 default y 131 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || (NET_NATIVE_TCP && NET_TCP) 132 133config NET_SHELL_UDP_SUPPORTED 134 bool "Send / receive UDP data" 135 default y 136 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || (NET_NATIVE_UDP && NET_UDP) 137 138config NET_SHELL_VIRTUAL_SUPPORTED 139 bool "Virtual network interface management" 140 default y 141 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_L2_VIRTUAL 142 143config NET_SHELL_VLAN_SUPPORTED 144 bool "Virtual LAN config" 145 default y 146 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || NET_VLAN 147 148config NET_SHELL_WEBSOCKET_SUPPORTED 149 bool "Websocket client status" 150 default y 151 depends on NET_SHELL_SHOW_DISABLED_COMMANDS || WEBSOCKET_CLIENT 152 153config NET_SHELL_DYN_CMD_COMPLETION 154 bool "Network shell dynamic command completion" 155 default y 156 help 157 Enable various net-shell command to support dynamic command 158 completion. This means that for example the nbr command can 159 automatically complete the neighboring IPv6 address and user 160 does not need to type it manually. 161 Please note that this uses more memory in order to save the 162 dynamic command strings. For example for nbr command the 163 increase is 320 bytes (8 neighbors * 40 bytes for IPv6 address 164 length) by default. Other dynamic completion commands in 165 net-shell require also some smaller amount of memory. 166 167config NET_SHELL_REQUIRE_TX_THREAD 168 bool 169 depends on SHELL_BACKEND_TELNET || SHELL_BACKEND_MQTT 170 default y if NET_ARP 171 help 172 Hidden symbol indicating that network shell requires separate TX 173 thread due to possible deadlocks during shell/net stack operations. 174 175endif # NET_SHELL 176