blob: a1ec3f8542ed9078ee75319df8bb17fd53278f3d [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
Ying-Chun Liu (PaulLiu)a3bf1932022-11-08 14:17:28 +0800177config PROT_TCP
178 bool "TCP stack"
179 help
180 Enable a generic tcp framework that allows defining a custom
181 handler for tcp protocol.
182
183config PROT_TCP_SACK
184 bool "TCP SACK support"
185 depends on PROT_TCP
186 help
187 TCP protocol with SACK. SACK means selective acknowledgements.
188 By turning this option on TCP will learn what segments are already
189 received. So that it improves TCP's retransmission efficiency.
190 This option should be turn on if you want to achieve the fastest
191 file transfer possible.
192
Viacheslav Mitrofanov3cc04a32022-12-02 12:17:59 +0300193config IPV6
194 bool "IPv6 support"
195 help
196 Enable IPv6 support. It includes Neighbour Discovery protocol, ICMPv6
197 and auxiliary stuff to make it work. Since it is enabled u-boot
198 network subsystem can get and handle incoming packets and send packets
199 through IPv6 network. It allows to use environment variables such as
200 ip6addr, serverip6. If a u-boot command is capable to parse an IPv6
201 address and find it, it will force using IPv6 in the network stack.
202
Masahiro Yamadaed363232014-09-16 16:32:58 +0900203endif # if NET
Tom Rini0b956e32022-03-18 08:38:25 -0400204
205config SYS_RX_ETH_BUFFER
206 int "Number of receive packet buffers"
207 default 4
208 help
209 Defines the number of Ethernet receive buffers. On some Ethernet
210 controllers it is recommended to set this value to 8 or even higher,
211 since all buffers can be full shortly after enabling the interface on
212 high Ethernet traffic.