Masahiro Yamada | ed36323 | 2014-09-16 16:32:58 +0900 | [diff] [blame] | 1 | # |
| 2 | # Network configuration |
| 3 | # |
| 4 | |
| 5 | menuconfig NET |
| 6 | bool "Networking support" |
Michal Simek | 3b3ea2c | 2018-02-26 16:01:02 +0100 | [diff] [blame] | 7 | default y |
Tom Rini | f444903 | 2023-11-08 19:12:25 -0500 | [diff] [blame^] | 8 | imply NETDEVICES |
Masahiro Yamada | ed36323 | 2014-09-16 16:32:58 +0900 | [diff] [blame] | 9 | |
| 10 | if NET |
| 11 | |
Tom Rini | 5d4e863 | 2022-03-11 09:12:01 -0500 | [diff] [blame] | 12 | config ARP_TIMEOUT |
| 13 | int "Milliseconds before trying ARP again" |
| 14 | default 5000 |
| 15 | |
Tom Rini | 01d1b99 | 2022-03-11 09:12:02 -0500 | [diff] [blame] | 16 | config NET_RETRY_COUNT |
| 17 | int "Number of timeouts before giving up" |
| 18 | default 5 |
| 19 | help |
| 20 | This variable defines the number of retries for network operations |
| 21 | like ARP, RARP, TFTP, or BOOTP before giving up the operation. |
| 22 | |
Philippe Reynes | b43ea1b | 2020-09-18 14:13:00 +0200 | [diff] [blame] | 23 | config PROT_UDP |
| 24 | bool "Enable generic udp framework" |
| 25 | help |
| 26 | Enable a generic udp framework that allows defining a custom |
| 27 | handler for udp protocol. |
| 28 | |
Simon Glass | 4fd8d07 | 2022-04-24 23:31:15 -0600 | [diff] [blame] | 29 | config BOOTDEV_ETH |
| 30 | bool "Enable bootdev for ethernet" |
| 31 | depends on BOOTSTD |
| 32 | default y |
| 33 | help |
| 34 | Provide a bootdev for ethernet so that is it possible to boot |
| 35 | an operationg system over the network, using the PXE (Preboot |
| 36 | Execution Environment) protocol. |
| 37 | |
Adam Ford | 3275f26 | 2020-07-03 09:00:14 -0500 | [diff] [blame] | 38 | config BOOTP_SEND_HOSTNAME |
| 39 | bool "Send hostname to DNS server" |
| 40 | help |
| 41 | Some DHCP servers are capable to do a dynamic update of a |
| 42 | DNS server. To do this, they need the hostname of the DHCP |
| 43 | requester. |
| 44 | If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content |
| 45 | of the "hostname" environment variable is passed as |
| 46 | option 12 to the DHCP server. |
| 47 | |
Joe Hershberger | bef1014 | 2015-05-04 14:55:13 -0500 | [diff] [blame] | 48 | config NET_RANDOM_ETHADDR |
| 49 | bool "Random ethaddr if unset" |
| 50 | help |
Michal Simek | 381e6e5 | 2022-01-11 10:28:09 +0100 | [diff] [blame] | 51 | Selecting this will allow the Ethernet interface to function even |
| 52 | when the ethaddr variable for that interface is unset. In this case, |
| 53 | a random MAC address in the locally administered address space is |
| 54 | generated. It will be saved to the appropriate environment variable, |
| 55 | too. |
Joe Hershberger | bef1014 | 2015-05-04 14:55:13 -0500 | [diff] [blame] | 56 | |
Bernhard Nortmann | 2666074 | 2015-09-14 15:29:46 +0200 | [diff] [blame] | 57 | config NETCONSOLE |
| 58 | bool "NetConsole support" |
| 59 | help |
| 60 | Support the 'nc' input/output device for networked console. |
| 61 | See README.NetConsole for details. |
| 62 | |
Marek Vasut | 3f6bcdf | 2019-06-11 04:51:14 +0200 | [diff] [blame] | 63 | config IP_DEFRAG |
| 64 | bool "Support IP datagram reassembly" |
Marek Vasut | 3f6bcdf | 2019-06-11 04:51:14 +0200 | [diff] [blame] | 65 | help |
| 66 | Selecting this will enable IP datagram reassembly according |
| 67 | to the algorithm in RFC815. |
| 68 | |
Rasmus Villemoes | 215df01 | 2020-02-07 15:17:42 +0000 | [diff] [blame] | 69 | config NET_MAXDEFRAG |
| 70 | int "Size of buffer used for IP datagram reassembly" |
| 71 | depends on IP_DEFRAG |
| 72 | default 16384 |
| 73 | range 1024 65536 |
| 74 | help |
| 75 | This defines the size of the statically allocated buffer |
| 76 | used for reassembly, and thus an upper bound for the size of |
| 77 | IP datagrams that can be received. |
| 78 | |
Tom Rini | 1d5686a | 2022-03-18 08:38:21 -0400 | [diff] [blame] | 79 | config SYS_FAULT_ECHO_LINK_DOWN |
| 80 | bool "Echo the inverted Ethernet link state to the fault LED" |
| 81 | help |
| 82 | Echo the inverted Ethernet link state to the fault LED. Note, if |
| 83 | this option is active, then CONFIG_SYS_FAULT_MII_ADDR also needs to |
| 84 | be configured. |
| 85 | |
Marek Vasut | b618b37 | 2019-06-11 04:51:15 +0200 | [diff] [blame] | 86 | config TFTP_BLOCKSIZE |
| 87 | int "TFTP block size" |
Andre Przywara | 16cdc2d | 2019-11-23 17:58:59 +0000 | [diff] [blame] | 88 | default 1468 |
Marek Vasut | b618b37 | 2019-06-11 04:51:15 +0200 | [diff] [blame] | 89 | help |
| 90 | Default TFTP block size. |
Patrick Delaunay | 421de7f | 2020-04-22 14:18:25 +0200 | [diff] [blame] | 91 | The MTU is typically 1500 for ethernet, so a TFTP block of |
| 92 | 1468 (MTU minus eth.hdrs) provides a good throughput with |
| 93 | almost-MTU block sizes. |
| 94 | You can also activate CONFIG_IP_DEFRAG to set a larger block. |
Marek Vasut | b618b37 | 2019-06-11 04:51:15 +0200 | [diff] [blame] | 95 | |
Tom Rini | 5842c810 | 2022-03-18 08:38:23 -0400 | [diff] [blame] | 96 | config TFTP_PORT |
| 97 | bool "Set TFTP UDP source/destination ports via the environment" |
| 98 | help |
| 99 | If this is defined, the environment variable tftpsrcp is used to |
| 100 | supply the TFTP UDP source port value. If tftpsrcp isn't defined, |
| 101 | the normal pseudo-random port number generator is used. |
| 102 | |
| 103 | Also, the environment variable tftpdstp is used to supply the TFTP |
| 104 | UDP destination port value. If tftpdstp isn't defined, the normal |
| 105 | port 69 is used. |
| 106 | |
| 107 | The purpose for tftpsrcp is to allow a TFTP server to blindly start |
| 108 | the TFTP transfer using the pre-configured target IP address and UDP |
| 109 | port. This has the effect of "punching through" the (Windows XP) |
| 110 | firewall, allowing the remainder of the TFTP transfer to proceed |
| 111 | normally. A better solution is to properly configure the firewall, |
| 112 | but sometimes that is not allowed. |
| 113 | |
Ramon Fried | cc6b87e | 2020-07-18 23:31:46 +0300 | [diff] [blame] | 114 | config TFTP_WINDOWSIZE |
| 115 | int "TFTP window size" |
| 116 | default 1 |
| 117 | help |
| 118 | Default TFTP window size. |
| 119 | RFC7440 defines an optional window size of transmits, |
| 120 | before an ack response is required. |
| 121 | The default TFTP implementation implies a window size of 1. |
| 122 | |
Tero Kristo | 2509493 | 2021-05-12 11:03:04 +0300 | [diff] [blame] | 123 | config TFTP_TSIZE |
| 124 | bool "Track TFTP transfers based on file size option" |
| 125 | depends on CMD_TFTPBOOT |
| 126 | default y if (ARCH_OMAP2PLUS || ARCH_K3) |
| 127 | help |
| 128 | By default, TFTP progress bar is increased for each received UDP |
| 129 | frame, which can lead into long time being spent for sending |
| 130 | data over the UART. Enabling this option, TFTP queries the file |
| 131 | size from server, and if supported, limits the progress bar to |
| 132 | 50 characters total which fits on single line. |
| 133 | |
Lyle Franklin | c8e251f | 2019-08-05 06:23:42 -0400 | [diff] [blame] | 134 | config SERVERIP_FROM_PROXYDHCP |
| 135 | bool "Get serverip value from Proxy DHCP response" |
| 136 | help |
| 137 | Allows bootfile config to be fetched from Proxy DHCP server |
| 138 | while IP is obtained from main DHCP server. |
| 139 | |
| 140 | config SERVERIP_FROM_PROXYDHCP_DELAY_MS |
| 141 | int "# of additional milliseconds to wait for ProxyDHCP response" |
| 142 | default 100 |
| 143 | help |
| 144 | Amount of additional time to wait for ProxyDHCP response after |
| 145 | receiving response from main DHCP server. Has no effect if |
| 146 | SERVERIP_FROM_PROXYDHCP is false. |
| 147 | |
Simon Glass | 3df6cd4 | 2021-12-18 11:27:48 -0700 | [diff] [blame] | 148 | config KEEP_SERVERADDR |
| 149 | bool "Write the server's MAC address to 'serveraddr'" |
| 150 | default y if SANDBOX |
| 151 | help |
| 152 | Keeps the server's MAC address, in the env 'serveraddr' |
| 153 | for passing to bootargs (like Linux's netconsole option). If this is |
| 154 | enabled, when an ARP reply is received, the server's IP address is |
| 155 | written there. |
| 156 | |
Simon Glass | 4b37fd1 | 2021-12-18 11:27:49 -0700 | [diff] [blame] | 157 | config UDP_CHECKSUM |
| 158 | bool "Check the UDP checksum" |
Simon Glass | d6b318d | 2021-12-18 11:27:50 -0700 | [diff] [blame] | 159 | default y if SANDBOX |
Simon Glass | 4b37fd1 | 2021-12-18 11:27:49 -0700 | [diff] [blame] | 160 | help |
| 161 | Enable this to verify the checksum on UDP packets. If the checksum |
Marek Vasut | 3c07d63 | 2022-05-01 18:43:55 +0200 | [diff] [blame] | 162 | is wrong then the packet is discarded and an error is shown, like |
Simon Glass | 4b37fd1 | 2021-12-18 11:27:49 -0700 | [diff] [blame] | 163 | "UDP wrong checksum 29374a23 30ff3826" |
| 164 | |
Simon Glass | d3877fb | 2021-12-18 11:27:51 -0700 | [diff] [blame] | 165 | config BOOTP_SERVERIP |
| 166 | bool "Use the 'serverip' env var for tftp, not bootp" |
| 167 | help |
| 168 | Enable this if the TFTP server will be the 'serverip' environment |
| 169 | variable, not the BOOTP server. This affects the operation of both |
| 170 | bootp and tftp. |
| 171 | |
Andre Kalb | 5e6e41b | 2022-01-28 09:40:32 +0100 | [diff] [blame] | 172 | config BOOTP_MAX_ROOT_PATH_LEN |
| 173 | int "Option 17 root path length" |
| 174 | default 64 |
| 175 | help |
| 176 | Select maximal length of option 17 root path. |
| 177 | |
Tom Rini | 54f80dd | 2022-12-02 16:42:27 -0500 | [diff] [blame] | 178 | config USE_GATEWAYIP |
| 179 | bool "Set a default 'gateway' value in the environment" |
| 180 | help |
| 181 | Defines a default value for the IP address of the default router |
| 182 | where packets to other networks are sent to. (Environment variable |
| 183 | "gatewayip") |
| 184 | |
| 185 | config GATEWAYIP |
| 186 | string "Value of the default 'gateway' value in the environment" |
| 187 | depends on USE_GATEWAYIP |
| 188 | |
| 189 | config USE_IPADDR |
| 190 | bool "Set a default 'ipaddr' value in the environment" |
| 191 | help |
| 192 | Define a default value for the IP address to use for the default |
| 193 | Ethernet interface, in case this is not determined through e.g. |
| 194 | bootp. (Environment variable "ipaddr") |
| 195 | |
| 196 | config IPADDR |
| 197 | string "Value of the default 'ipaddr' value in the environment" |
| 198 | depends on USE_IPADDR |
| 199 | |
| 200 | config USE_NETMASK |
| 201 | bool "Set a default 'netmask' value in the environment" |
| 202 | help |
| 203 | Defines a default value for the subnet mask (or routing prefix) which |
| 204 | is used to determine if an IP address belongs to the local subnet or |
| 205 | needs to be forwarded through a router. (Environment variable "netmask") |
| 206 | |
| 207 | config NETMASK |
| 208 | string "Value of the default 'netmask' value in the environment" |
| 209 | depends on USE_NETMASK |
| 210 | |
| 211 | config USE_ROOTPATH |
| 212 | bool "Set a default 'rootpath' value in the environment" |
| 213 | |
| 214 | config ROOTPATH |
| 215 | string "Value of the default 'rootpath' value in the environment" |
| 216 | depends on USE_ROOTPATH |
| 217 | default "/opt/nfsroot" |
| 218 | |
| 219 | config USE_SERVERIP |
| 220 | bool "Set a default 'serverip' value in the environment" |
| 221 | help |
| 222 | Defines a default value for the IP address of a TFTP server to |
| 223 | contact when using the "tftboot" command. (Environment variable |
| 224 | "serverip") |
| 225 | |
| 226 | config SERVERIP |
| 227 | string "Value of the default 'serverip' value in the environment" |
| 228 | depends on USE_SERVERIP |
| 229 | |
Ying-Chun Liu (PaulLiu) | a3bf193 | 2022-11-08 14:17:28 +0800 | [diff] [blame] | 230 | config PROT_TCP |
| 231 | bool "TCP stack" |
| 232 | help |
| 233 | Enable a generic tcp framework that allows defining a custom |
| 234 | handler for tcp protocol. |
| 235 | |
| 236 | config PROT_TCP_SACK |
| 237 | bool "TCP SACK support" |
| 238 | depends on PROT_TCP |
| 239 | help |
| 240 | TCP protocol with SACK. SACK means selective acknowledgements. |
| 241 | By turning this option on TCP will learn what segments are already |
| 242 | received. So that it improves TCP's retransmission efficiency. |
| 243 | This option should be turn on if you want to achieve the fastest |
| 244 | file transfer possible. |
| 245 | |
Viacheslav Mitrofanov | 3cc04a3 | 2022-12-02 12:17:59 +0300 | [diff] [blame] | 246 | config IPV6 |
| 247 | bool "IPv6 support" |
| 248 | help |
| 249 | Enable IPv6 support. It includes Neighbour Discovery protocol, ICMPv6 |
| 250 | and auxiliary stuff to make it work. Since it is enabled u-boot |
| 251 | network subsystem can get and handle incoming packets and send packets |
| 252 | through IPv6 network. It allows to use environment variables such as |
| 253 | ip6addr, serverip6. If a u-boot command is capable to parse an IPv6 |
| 254 | address and find it, it will force using IPv6 in the network stack. |
| 255 | |
Masahiro Yamada | ed36323 | 2014-09-16 16:32:58 +0900 | [diff] [blame] | 256 | endif # if NET |
Tom Rini | 0b956e3 | 2022-03-18 08:38:25 -0400 | [diff] [blame] | 257 | |
| 258 | config SYS_RX_ETH_BUFFER |
| 259 | int "Number of receive packet buffers" |
| 260 | default 4 |
| 261 | help |
| 262 | Defines the number of Ethernet receive buffers. On some Ethernet |
| 263 | controllers it is recommended to set this value to 8 or even higher, |
| 264 | since all buffers can be full shortly after enabling the interface on |
| 265 | high Ethernet traffic. |