blob: 4215889127c9b215e96f6b23edd65406ee8f4fe4 [file] [log] [blame]
Masahiro Yamadaed363232014-09-16 16:32:58 +09001#
2# Network configuration
3#
4
5menuconfig NET
6 bool "Networking support"
Michal Simek3b3ea2c2018-02-26 16:01:02 +01007 default y
Masahiro Yamadaed363232014-09-16 16:32:58 +09008
9if NET
10
Tom Rini5d4e8632022-03-11 09:12:01 -050011config ARP_TIMEOUT
12 int "Milliseconds before trying ARP again"
13 default 5000
14
Tom Rini01d1b992022-03-11 09:12:02 -050015config 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 Reynesb43ea1b2020-09-18 14:13:00 +020022config 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 Glass4fd8d072022-04-24 23:31:15 -060028config 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 Ford3275f262020-07-03 09:00:14 -050037config 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 Hershbergerbef10142015-05-04 14:55:13 -050047config NET_RANDOM_ETHADDR
48 bool "Random ethaddr if unset"
49 help
Michal Simek381e6e52022-01-11 10:28:09 +010050 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 Hershbergerbef10142015-05-04 14:55:13 -050055
Bernhard Nortmann26660742015-09-14 15:29:46 +020056config 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 Vasut3f6bcdf2019-06-11 04:51:14 +020062config IP_DEFRAG
63 bool "Support IP datagram reassembly"
Marek Vasut3f6bcdf2019-06-11 04:51:14 +020064 help
65 Selecting this will enable IP datagram reassembly according
66 to the algorithm in RFC815.
67
Rasmus Villemoes215df012020-02-07 15:17:42 +000068config 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 Rini1d5686a2022-03-18 08:38:21 -040078config 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 Vasutb618b372019-06-11 04:51:15 +020085config TFTP_BLOCKSIZE
86 int "TFTP block size"
Andre Przywara16cdc2d2019-11-23 17:58:59 +000087 default 1468
Marek Vasutb618b372019-06-11 04:51:15 +020088 help
89 Default TFTP block size.
Patrick Delaunay421de7f2020-04-22 14:18:25 +020090 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 Vasutb618b372019-06-11 04:51:15 +020094
Tom Rini5842c8102022-03-18 08:38:23 -040095config 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 Friedcc6b87e2020-07-18 23:31:46 +0300113config 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 Kristo25094932021-05-12 11:03:04 +0300122config 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 Franklinc8e251f2019-08-05 06:23:42 -0400133config 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
139config 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 Glass3df6cd42021-12-18 11:27:48 -0700147config 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 Glass4b37fd12021-12-18 11:27:49 -0700156config UDP_CHECKSUM
157 bool "Check the UDP checksum"
Simon Glassd6b318d2021-12-18 11:27:50 -0700158 default y if SANDBOX
Simon Glass4b37fd12021-12-18 11:27:49 -0700159 help
160 Enable this to verify the checksum on UDP packets. If the checksum
Marek Vasut3c07d632022-05-01 18:43:55 +0200161 is wrong then the packet is discarded and an error is shown, like
Simon Glass4b37fd12021-12-18 11:27:49 -0700162 "UDP wrong checksum 29374a23 30ff3826"
163
Simon Glassd3877fb2021-12-18 11:27:51 -0700164config 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 Kalb5e6e41b2022-01-28 09:40:32 +0100171config 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 Rini54f80dd2022-12-02 16:42:27 -0500177config 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
184config GATEWAYIP
185 string "Value of the default 'gateway' value in the environment"
186 depends on USE_GATEWAYIP
187
188config 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
195config IPADDR
196 string "Value of the default 'ipaddr' value in the environment"
197 depends on USE_IPADDR
198
199config 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
206config NETMASK
207 string "Value of the default 'netmask' value in the environment"
208 depends on USE_NETMASK
209
210config USE_ROOTPATH
211 bool "Set a default 'rootpath' value in the environment"
212
213config ROOTPATH
214 string "Value of the default 'rootpath' value in the environment"
215 depends on USE_ROOTPATH
216 default "/opt/nfsroot"
217
218config 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
225config SERVERIP
226 string "Value of the default 'serverip' value in the environment"
227 depends on USE_SERVERIP
228
Ying-Chun Liu (PaulLiu)a3bf1932022-11-08 14:17:28 +0800229config 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
235config 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 Mitrofanov3cc04a32022-12-02 12:17:59 +0300245config 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 Yamadaed363232014-09-16 16:32:58 +0900255endif # if NET
Tom Rini0b956e32022-03-18 08:38:25 -0400256
257config 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.