Merge branch 'next'
[pandora-u-boot.git] / net / Kconfig
1 #
2 # Network configuration
3 #
4
5 menuconfig NET
6         bool "Networking support"
7         default y
8         imply NETDEVICES
9
10 if NET
11
12 config ARP_TIMEOUT
13         int "Milliseconds before trying ARP again"
14         default 5000
15
16 config 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
23 config 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
29 config 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
38 config 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
48 config NET_RANDOM_ETHADDR
49         bool "Random ethaddr if unset"
50         help
51           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.
56
57 config NETCONSOLE
58         bool "NetConsole support"
59         help
60           Support the 'nc' input/output device for networked console.
61           See doc/usage/netconsole.rst for details.
62
63 config IP_DEFRAG
64         bool "Support IP datagram reassembly"
65         help
66           Selecting this will enable IP datagram reassembly according
67           to the algorithm in RFC815.
68
69 config 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
79 config 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
86 config TFTP_BLOCKSIZE
87         int "TFTP block size"
88         default 1468
89         help
90           Default TFTP block size.
91           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.
95
96 config 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
114 config 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
123 config 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
134 config 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
140 config 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
148 config 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
157 config UDP_CHECKSUM
158         bool "Check the UDP checksum"
159         default y if SANDBOX
160         help
161           Enable this to verify the checksum on UDP packets. If the checksum
162           is wrong then the packet is discarded and an error is shown, like
163           "UDP wrong checksum 29374a23 30ff3826"
164
165 config 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
172 config 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
178 config 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
185 config GATEWAYIP
186         string "Value of the default 'gateway' value in the environment"
187         depends on USE_GATEWAYIP
188
189 config 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
196 config IPADDR
197         string "Value of the default 'ipaddr' value in the environment"
198         depends on USE_IPADDR
199
200 config 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
207 config NETMASK
208         string "Value of the default 'netmask' value in the environment"
209         depends on USE_NETMASK
210
211 config USE_ROOTPATH
212         bool "Set a default 'rootpath' value in the environment"
213
214 config ROOTPATH
215         string "Value of the default 'rootpath' value in the environment"
216         depends on USE_ROOTPATH
217         default "/opt/nfsroot"
218
219 config 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
226 config SERVERIP
227         string "Value of the default 'serverip' value in the environment"
228         depends on USE_SERVERIP
229
230 config 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
236 config 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
246 config 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
256 endif   # if NET
257
258 config 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.