blob: 76ab7d91eebbe7802a634a48c46dca45e8fc9f6d [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
Tom Rinia9942c62022-03-18 08:38:23 -040063config TFTP_PORT
64 bool "Set TFTP UDP source/destination ports via the environment"
65 help
66 If this is defined, the environment variable tftpsrcp is used to
67 supply the TFTP UDP source port value. If tftpsrcp isn't defined,
68 the normal pseudo-random port number generator is used.
69
70 Also, the environment variable tftpdstp is used to supply the TFTP
71 UDP destination port value. If tftpdstp isn't defined, the normal
72 port 69 is used.
73
74 The purpose for tftpsrcp is to allow a TFTP server to blindly start
75 the TFTP transfer using the pre-configured target IP address and UDP
76 port. This has the effect of "punching through" the (Windows XP)
77 firewall, allowing the remainder of the TFTP transfer to proceed
78 normally. A better solution is to properly configure the firewall,
79 but sometimes that is not allowed.
80
Ramon Fried6e9aa542020-07-18 23:31:46 +030081config TFTP_WINDOWSIZE
82 int "TFTP window size"
83 default 1
84 help
85 Default TFTP window size.
86 RFC7440 defines an optional window size of transmits,
87 before an ack response is required.
88 The default TFTP implementation implies a window size of 1.
89
Tero Kristo0624c812021-05-12 11:03:04 +030090config TFTP_TSIZE
91 bool "Track TFTP transfers based on file size option"
92 depends on CMD_TFTPBOOT
93 default y if (ARCH_OMAP2PLUS || ARCH_K3)
94 help
95 By default, TFTP progress bar is increased for each received UDP
96 frame, which can lead into long time being spent for sending
97 data over the UART. Enabling this option, TFTP queries the file
98 size from server, and if supported, limits the progress bar to
99 50 characters total which fits on single line.
100
Lyle Franklin73fcbc72019-08-05 06:23:42 -0400101config SERVERIP_FROM_PROXYDHCP
102 bool "Get serverip value from Proxy DHCP response"
103 help
104 Allows bootfile config to be fetched from Proxy DHCP server
105 while IP is obtained from main DHCP server.
106
107config SERVERIP_FROM_PROXYDHCP_DELAY_MS
108 int "# of additional milliseconds to wait for ProxyDHCP response"
109 default 100
110 help
111 Amount of additional time to wait for ProxyDHCP response after
112 receiving response from main DHCP server. Has no effect if
113 SERVERIP_FROM_PROXYDHCP is false.
114
Simon Glasscc041b62021-12-18 11:27:48 -0700115config KEEP_SERVERADDR
116 bool "Write the server's MAC address to 'serveraddr'"
117 default y if SANDBOX
118 help
119 Keeps the server's MAC address, in the env 'serveraddr'
120 for passing to bootargs (like Linux's netconsole option). If this is
121 enabled, when an ARP reply is received, the server's IP address is
122 written there.
123
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700124config UDP_CHECKSUM
125 bool "Check the UDP checksum"
Simon Glass65831d92021-12-18 11:27:50 -0700126 default y if SANDBOX
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700127 help
128 Enable this to verify the checksum on UDP packets. If the checksum
Marek Vasut5933cee2022-05-01 18:43:55 +0200129 is wrong then the packet is discarded and an error is shown, like
Simon Glasse0eb4ef2021-12-18 11:27:49 -0700130 "UDP wrong checksum 29374a23 30ff3826"
131
Simon Glass1c383742021-12-18 11:27:51 -0700132config BOOTP_SERVERIP
133 bool "Use the 'serverip' env var for tftp, not bootp"
134 help
135 Enable this if the TFTP server will be the 'serverip' environment
136 variable, not the BOOTP server. This affects the operation of both
137 bootp and tftp.
138
Andre Kalbe9926e52022-01-28 09:40:32 +0100139config BOOTP_MAX_ROOT_PATH_LEN
140 int "Option 17 root path length"
141 default 64
142 help
143 Select maximal length of option 17 root path.
144
Tom Rini1479a832022-12-02 16:42:27 -0500145config USE_GATEWAYIP
146 bool "Set a default 'gateway' value in the environment"
147 help
148 Defines a default value for the IP address of the default router
149 where packets to other networks are sent to. (Environment variable
150 "gatewayip")
151
152config GATEWAYIP
153 string "Value of the default 'gateway' value in the environment"
154 depends on USE_GATEWAYIP
155
156config USE_IPADDR
157 bool "Set a default 'ipaddr' value in the environment"
158 help
159 Define a default value for the IP address to use for the default
160 Ethernet interface, in case this is not determined through e.g.
161 bootp. (Environment variable "ipaddr")
162
163config IPADDR
164 string "Value of the default 'ipaddr' value in the environment"
165 depends on USE_IPADDR
166
167config USE_NETMASK
168 bool "Set a default 'netmask' value in the environment"
169 help
170 Defines a default value for the subnet mask (or routing prefix) which
171 is used to determine if an IP address belongs to the local subnet or
172 needs to be forwarded through a router. (Environment variable "netmask")
173
174config NETMASK
175 string "Value of the default 'netmask' value in the environment"
176 depends on USE_NETMASK
177
178config USE_ROOTPATH
179 bool "Set a default 'rootpath' value in the environment"
180
181config ROOTPATH
182 string "Value of the default 'rootpath' value in the environment"
183 depends on USE_ROOTPATH
184 default "/opt/nfsroot"
185
186config USE_SERVERIP
187 bool "Set a default 'serverip' value in the environment"
188 help
189 Defines a default value for the IP address of a TFTP server to
190 contact when using the "tftboot" command. (Environment variable
191 "serverip")
192
193config SERVERIP
194 string "Value of the default 'serverip' value in the environment"
195 depends on USE_SERVERIP
196
Ying-Chun Liu (PaulLiu)41efed12022-11-08 14:17:28 +0800197config PROT_TCP
198 bool "TCP stack"
199 help
200 Enable a generic tcp framework that allows defining a custom
201 handler for tcp protocol.
202
203config PROT_TCP_SACK
204 bool "TCP SACK support"
205 depends on PROT_TCP
206 help
207 TCP protocol with SACK. SACK means selective acknowledgements.
208 By turning this option on TCP will learn what segments are already
209 received. So that it improves TCP's retransmission efficiency.
210 This option should be turn on if you want to achieve the fastest
211 file transfer possible.
212
Viacheslav Mitrofanov6cce6c22022-12-02 12:17:59 +0300213config IPV6
214 bool "IPv6 support"
215 help
216 Enable IPv6 support. It includes Neighbour Discovery protocol, ICMPv6
217 and auxiliary stuff to make it work. Since it is enabled u-boot
218 network subsystem can get and handle incoming packets and send packets
219 through IPv6 network. It allows to use environment variables such as
220 ip6addr, serverip6. If a u-boot command is capable to parse an IPv6
221 address and find it, it will force using IPv6 in the network stack.
222
Masahiro Yamadaf3e12b72014-09-16 16:32:58 +0900223endif # if NET
Tom Rinif9d5e832022-03-18 08:38:25 -0400224
Jerome Forissiere0f95512024-10-16 12:03:59 +0200225source "net/lwip/Kconfig"
226
227if NET || NET_LWIP
228
229config BOOTDEV_ETH
230 bool "Enable bootdev for ethernet"
231 depends on BOOTSTD
232 default y
233 help
234 Provide a bootdev for ethernet so that is it possible to boot
235 an operating system over the network, using the PXE (Preboot
236 Execution Environment) protocol.
237
238config NET_RANDOM_ETHADDR
239 bool "Random ethaddr if unset"
Tom Rinif9d5e832022-03-18 08:38:25 -0400240 help
Jerome Forissiere0f95512024-10-16 12:03:59 +0200241 Selecting this will allow the Ethernet interface to function even
242 when the ethaddr variable for that interface is unset. In this case,
243 a random MAC address in the locally administered address space is
244 generated. It will be saved to the appropriate environment variable,
245 too.
246
Jerome Forissier0fb81902024-10-16 12:04:13 +0200247config TFTP_BLOCKSIZE
248 int "TFTP block size"
249 default 1468
250 help
251 Default TFTP block size.
252 The MTU is typically 1500 for ethernet, so a TFTP block of
253 1468 (MTU minus eth.hdrs) provides a good throughput with
254 almost-MTU block sizes.
255 You can also activate CONFIG_IP_DEFRAG to set a larger block.
256
Jerome Forissiere0f95512024-10-16 12:03:59 +0200257endif # 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.