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