blob: 16a9de47e949985113c0730e76905bcb6cd6d804 [file] [log] [blame]
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +09001#
2# Network configuration
3#
4
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +09005if NET
6
Tom Rinia8a77502022-03-11 09:12:01 -05007config ARP_TIMEOUT
8 int "Milliseconds before trying ARP again"
9 default 5000
10
Tom Rini26011a32022-03-11 09:12:02 -050011config NET_RETRY_COUNT
12 int "Number of timeouts before giving up"
13 default 5
14 help
15 This variable defines the number of retries for network operations
16 like ARP, RARP, TFTP, or BOOTP before giving up the operation.
17
Philippe Reynes6ec70bc2020-09-18 14:13:00 +020018config PROT_UDP
19 bool "Enable generic udp framework"
20 help
21 Enable a generic udp framework that allows defining a custom
22 handler for udp protocol.
23
Adam Ford499c9f72020-07-03 09:00:14 -050024config BOOTP_SEND_HOSTNAME
25 bool "Send hostname to DNS server"
26 help
27 Some DHCP servers are capable to do a dynamic update of a
28 DNS server. To do this, they need the hostname of the DHCP
29 requester.
30 If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content
Anand Moon6c368f42024-06-23 23:10:21 +053031 of the "hostname" environment variable is passed as
32 option 12 to the DHCP server.
Adam Ford499c9f72020-07-03 09:00:14 -050033
Bernhard Nortmanndeea30d2015-09-14 15:29:46 +020034config NETCONSOLE
35 bool "NetConsole support"
36 help
37 Support the 'nc' input/output device for networked console.
Baruch Siached008602023-12-18 09:37:53 +020038 See doc/usage/netconsole.rst for details.
Bernhard Nortmanndeea30d2015-09-14 15:29:46 +020039
Marek Vasuta61efd82019-06-11 04:51:14 +020040config IP_DEFRAG
41 bool "Support IP datagram reassembly"
Marek Vasuta61efd82019-06-11 04:51:14 +020042 help
43 Selecting this will enable IP datagram reassembly according
44 to the algorithm in RFC815.
45
Rasmus Villemoesa94b3ac2020-02-07 15:17:42 +000046config NET_MAXDEFRAG
47 int "Size of buffer used for IP datagram reassembly"
48 depends on IP_DEFRAG
49 default 16384
50 range 1024 65536
51 help
52 This defines the size of the statically allocated buffer
53 used for reassembly, and thus an upper bound for the size of
54 IP datagrams that can be received.
55
Tom Rini97b04182022-03-18 08:38:21 -040056config SYS_FAULT_ECHO_LINK_DOWN
57 bool "Echo the inverted Ethernet link state to the fault LED"
58 help
59 Echo the inverted Ethernet link state to the fault LED. Note, if
60 this option is active, then CONFIG_SYS_FAULT_MII_ADDR also needs to
61 be configured.
62
Marek Vasut09b93a62019-06-11 04:51:15 +020063config TFTP_BLOCKSIZE
64 int "TFTP block size"
Andre Przywaraca234052019-11-23 17:58:59 +000065 default 1468
Marek Vasut09b93a62019-06-11 04:51:15 +020066 help
67 Default TFTP block size.
Patrick Delaunay1e51f3e2020-04-22 14:18:25 +020068 The MTU is typically 1500 for ethernet, so a TFTP block of
69 1468 (MTU minus eth.hdrs) provides a good throughput with
70 almost-MTU block sizes.
71 You can also activate CONFIG_IP_DEFRAG to set a larger block.
Marek Vasut09b93a62019-06-11 04:51:15 +020072
Tom Rinia9942c62022-03-18 08:38:23 -040073config TFTP_PORT
74 bool "Set TFTP UDP source/destination ports via the environment"
75 help
76 If this is defined, the environment variable tftpsrcp is used to
77 supply the TFTP UDP source port value. If tftpsrcp isn't defined,
78 the normal pseudo-random port number generator is used.
79
80 Also, the environment variable tftpdstp is used to supply the TFTP
81 UDP destination port value. If tftpdstp isn't defined, the normal
82 port 69 is used.
83
84 The purpose for tftpsrcp is to allow a TFTP server to blindly start
85 the TFTP transfer using the pre-configured target IP address and UDP
86 port. This has the effect of "punching through" the (Windows XP)
87 firewall, allowing the remainder of the TFTP transfer to proceed
88 normally. A better solution is to properly configure the firewall,
89 but sometimes that is not allowed.
90
Ramon Fried6e9aa542020-07-18 23:31:46 +030091config TFTP_WINDOWSIZE
92 int "TFTP window size"
93 default 1
94 help
95 Default TFTP window size.
96 RFC7440 defines an optional window size of transmits,
97 before an ack response is required.
98 The default TFTP implementation implies a window size of 1.
99
Tero Kristo0624c812021-05-12 11:03:04 +0300100config TFTP_TSIZE
101 bool "Track TFTP transfers based on file size option"
102 depends on CMD_TFTPBOOT
103 default y if (ARCH_OMAP2PLUS || ARCH_K3)
104 help
105 By default, TFTP progress bar is increased for each received UDP
106 frame, which can lead into long time being spent for sending
107 data over the UART. Enabling this option, TFTP queries the file
108 size from server, and if supported, limits the progress bar to
109 50 characters total which fits on single line.
110
Lyle Franklin73fcbc72019-08-05 06:23:42 -0400111config SERVERIP_FROM_PROXYDHCP
112 bool "Get serverip value from Proxy DHCP response"
113 help
114 Allows bootfile config to be fetched from Proxy DHCP server
115 while IP is obtained from main DHCP server.
116
117config SERVERIP_FROM_PROXYDHCP_DELAY_MS
118 int "# of additional milliseconds to wait for ProxyDHCP response"
119 default 100
120 help
121 Amount of additional time to wait for ProxyDHCP response after
122 receiving response from main DHCP server. Has no effect if
123 SERVERIP_FROM_PROXYDHCP is false.
124
Simon Glasscc041b62021-12-18 11:27:48 -0700125config KEEP_SERVERADDR
126 bool "Write the server's MAC address to 'serveraddr'"
127 default y if SANDBOX
128 help
129 Keeps the server's MAC address, in the env 'serveraddr'
130 for passing to bootargs (like Linux's netconsole option). If this is
131 enabled, when an ARP reply is received, the server's IP address is
132 written there.
133
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700134config UDP_CHECKSUM
135 bool "Check the UDP checksum"
Simon Glass65831d92021-12-18 11:27:50 -0700136 default y if SANDBOX
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700137 help
138 Enable this to verify the checksum on UDP packets. If the checksum
Marek Vasut5933cee2022-05-01 18:43:55 +0200139 is wrong then the packet is discarded and an error is shown, like
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700140 "UDP wrong checksum 29374a23 30ff3826"
141
Simon Glass1c383742021-12-18 11:27:51 -0700142config BOOTP_SERVERIP
143 bool "Use the 'serverip' env var for tftp, not bootp"
144 help
145 Enable this if the TFTP server will be the 'serverip' environment
146 variable, not the BOOTP server. This affects the operation of both
147 bootp and tftp.
148
Andre Kalbe9926e52022-01-28 09:40:32 +0100149config BOOTP_MAX_ROOT_PATH_LEN
150 int "Option 17 root path length"
151 default 64
152 help
153 Select maximal length of option 17 root path.
154
Tom Rini1479a832022-12-02 16:42:27 -0500155config USE_GATEWAYIP
156 bool "Set a default 'gateway' value in the environment"
157 help
158 Defines a default value for the IP address of the default router
159 where packets to other networks are sent to. (Environment variable
160 "gatewayip")
161
162config GATEWAYIP
163 string "Value of the default 'gateway' value in the environment"
164 depends on USE_GATEWAYIP
165
166config USE_IPADDR
167 bool "Set a default 'ipaddr' value in the environment"
168 help
169 Define a default value for the IP address to use for the default
170 Ethernet interface, in case this is not determined through e.g.
171 bootp. (Environment variable "ipaddr")
172
173config IPADDR
174 string "Value of the default 'ipaddr' value in the environment"
175 depends on USE_IPADDR
176
177config USE_NETMASK
178 bool "Set a default 'netmask' value in the environment"
179 help
180 Defines a default value for the subnet mask (or routing prefix) which
181 is used to determine if an IP address belongs to the local subnet or
182 needs to be forwarded through a router. (Environment variable "netmask")
183
184config NETMASK
185 string "Value of the default 'netmask' value in the environment"
186 depends on USE_NETMASK
187
188config USE_ROOTPATH
189 bool "Set a default 'rootpath' value in the environment"
190
191config ROOTPATH
192 string "Value of the default 'rootpath' value in the environment"
193 depends on USE_ROOTPATH
194 default "/opt/nfsroot"
195
196config USE_SERVERIP
197 bool "Set a default 'serverip' value in the environment"
198 help
199 Defines a default value for the IP address of a TFTP server to
200 contact when using the "tftboot" command. (Environment variable
201 "serverip")
202
203config SERVERIP
204 string "Value of the default 'serverip' value in the environment"
205 depends on USE_SERVERIP
206
Ying-Chun Liu (PaulLiu)41efed12022-11-08 14:17:28 +0800207config PROT_TCP
208 bool "TCP stack"
209 help
210 Enable a generic tcp framework that allows defining a custom
211 handler for tcp protocol.
212
213config PROT_TCP_SACK
214 bool "TCP SACK support"
215 depends on PROT_TCP
216 help
217 TCP protocol with SACK. SACK means selective acknowledgements.
218 By turning this option on TCP will learn what segments are already
219 received. So that it improves TCP's retransmission efficiency.
220 This option should be turn on if you want to achieve the fastest
221 file transfer possible.
222
Viacheslav Mitrofanov6cce6c22022-12-02 12:17:59 +0300223config IPV6
224 bool "IPv6 support"
225 help
226 Enable IPv6 support. It includes Neighbour Discovery protocol, ICMPv6
227 and auxiliary stuff to make it work. Since it is enabled u-boot
228 network subsystem can get and handle incoming packets and send packets
229 through IPv6 network. It allows to use environment variables such as
230 ip6addr, serverip6. If a u-boot command is capable to parse an IPv6
231 address and find it, it will force using IPv6 in the network stack.
232
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +0900233endif # if NET
Tom Rinif9d5e832022-03-18 08:38:25 -0400234
Jerome Forissiere0f95512024-10-16 12:03:59 +0200235source "net/lwip/Kconfig"
236
237if NET || NET_LWIP
238
239config BOOTDEV_ETH
240 bool "Enable bootdev for ethernet"
241 depends on BOOTSTD
242 default y
243 help
244 Provide a bootdev for ethernet so that is it possible to boot
245 an operating system over the network, using the PXE (Preboot
246 Execution Environment) protocol.
247
248config NET_RANDOM_ETHADDR
249 bool "Random ethaddr if unset"
Tom Rinif9d5e832022-03-18 08:38:25 -0400250 help
Jerome Forissiere0f95512024-10-16 12:03:59 +0200251 Selecting this will allow the Ethernet interface to function even
252 when the ethaddr variable for that interface is unset. In this case,
253 a random MAC address in the locally administered address space is
254 generated. It will be saved to the appropriate environment variable,
255 too.
256
257endif # if NET || NET_LWIP
258
259config SYS_RX_ETH_BUFFER
260 int "Number of receive packet buffers"
261 default 4
262 help
263 Defines the number of Ethernet receive buffers. On some Ethernet
264 controllers it is recommended to set this value to 8 or even higher,
265 since all buffers can be full shortly after enabling the interface on
266 high Ethernet traffic.