blob: 8c80b3a6c6715837d621885b966682a9c5e9b494 [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
Tom Rinif4449032023-11-08 19:12:25 -05008 imply NETDEVICES
Masahiro Yamadaed363232014-09-16 16:32:58 +09009
10if NET
11
Tom Rini5d4e8632022-03-11 09:12:01 -050012config ARP_TIMEOUT
13 int "Milliseconds before trying ARP again"
14 default 5000
15
Tom Rini01d1b992022-03-11 09:12:02 -050016config 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 Reynesb43ea1b2020-09-18 14:13:00 +020023config 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 Glass4fd8d072022-04-24 23:31:15 -060029config 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 Ford3275f262020-07-03 09:00:14 -050038config 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 Hershbergerbef10142015-05-04 14:55:13 -050048config NET_RANDOM_ETHADDR
49 bool "Random ethaddr if unset"
50 help
Michal Simek381e6e52022-01-11 10:28:09 +010051 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 Hershbergerbef10142015-05-04 14:55:13 -050056
Bernhard Nortmann26660742015-09-14 15:29:46 +020057config 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 Vasut3f6bcdf2019-06-11 04:51:14 +020063config IP_DEFRAG
64 bool "Support IP datagram reassembly"
Marek Vasut3f6bcdf2019-06-11 04:51:14 +020065 help
66 Selecting this will enable IP datagram reassembly according
67 to the algorithm in RFC815.
68
Rasmus Villemoes215df012020-02-07 15:17:42 +000069config 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 Rini1d5686a2022-03-18 08:38:21 -040079config 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 Vasutb618b372019-06-11 04:51:15 +020086config TFTP_BLOCKSIZE
87 int "TFTP block size"
Andre Przywara16cdc2d2019-11-23 17:58:59 +000088 default 1468
Marek Vasutb618b372019-06-11 04:51:15 +020089 help
90 Default TFTP block size.
Patrick Delaunay421de7f2020-04-22 14:18:25 +020091 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 Vasutb618b372019-06-11 04:51:15 +020095
Tom Rini5842c8102022-03-18 08:38:23 -040096config 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 Friedcc6b87e2020-07-18 23:31:46 +0300114config 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 Kristo25094932021-05-12 11:03:04 +0300123config 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 Franklinc8e251f2019-08-05 06:23:42 -0400134config 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
140config 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 Glass3df6cd42021-12-18 11:27:48 -0700148config 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 Glass4b37fd12021-12-18 11:27:49 -0700157config UDP_CHECKSUM
158 bool "Check the UDP checksum"
Simon Glassd6b318d2021-12-18 11:27:50 -0700159 default y if SANDBOX
Simon Glass4b37fd12021-12-18 11:27:49 -0700160 help
161 Enable this to verify the checksum on UDP packets. If the checksum
Marek Vasut3c07d632022-05-01 18:43:55 +0200162 is wrong then the packet is discarded and an error is shown, like
Simon Glass4b37fd12021-12-18 11:27:49 -0700163 "UDP wrong checksum 29374a23 30ff3826"
164
Simon Glassd3877fb2021-12-18 11:27:51 -0700165config 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 Kalb5e6e41b2022-01-28 09:40:32 +0100172config 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 Rini54f80dd2022-12-02 16:42:27 -0500178config 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
185config GATEWAYIP
186 string "Value of the default 'gateway' value in the environment"
187 depends on USE_GATEWAYIP
188
189config 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
196config IPADDR
197 string "Value of the default 'ipaddr' value in the environment"
198 depends on USE_IPADDR
199
200config 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
207config NETMASK
208 string "Value of the default 'netmask' value in the environment"
209 depends on USE_NETMASK
210
211config USE_ROOTPATH
212 bool "Set a default 'rootpath' value in the environment"
213
214config ROOTPATH
215 string "Value of the default 'rootpath' value in the environment"
216 depends on USE_ROOTPATH
217 default "/opt/nfsroot"
218
219config 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
226config SERVERIP
227 string "Value of the default 'serverip' value in the environment"
228 depends on USE_SERVERIP
229
Ying-Chun Liu (PaulLiu)a3bf1932022-11-08 14:17:28 +0800230config 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
236config 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 Mitrofanov3cc04a32022-12-02 12:17:59 +0300246config 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 Yamadaed363232014-09-16 16:32:58 +0900256endif # if NET
Tom Rini0b956e32022-03-18 08:38:25 -0400257
258config 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.