a1ec3f8542ed9078ee75319df8bb17fd53278f3d
[platform/kernel/u-boot.git] / net / Kconfig
1 #
2 # Network configuration
3 #
4
5 menuconfig NET
6         bool "Networking support"
7         default y
8
9 if NET
10
11 config ARP_TIMEOUT
12         int "Milliseconds before trying ARP again"
13         default 5000
14
15 config 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
22 config 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
28 config 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
37 config 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
47 config NET_RANDOM_ETHADDR
48         bool "Random ethaddr if unset"
49         help
50           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.
55
56 config NETCONSOLE
57         bool "NetConsole support"
58         help
59           Support the 'nc' input/output device for networked console.
60           See README.NetConsole for details.
61
62 config IP_DEFRAG
63         bool "Support IP datagram reassembly"
64         help
65           Selecting this will enable IP datagram reassembly according
66           to the algorithm in RFC815.
67
68 config 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
78 config 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
85 config TFTP_BLOCKSIZE
86         int "TFTP block size"
87         default 1468
88         help
89           Default TFTP block size.
90           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.
94
95 config 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
113 config 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
122 config 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
133 config 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
139 config 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
147 config 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
156 config UDP_CHECKSUM
157         bool "Check the UDP checksum"
158         default y if SANDBOX
159         help
160           Enable this to verify the checksum on UDP packets. If the checksum
161           is wrong then the packet is discarded and an error is shown, like
162           "UDP wrong checksum 29374a23 30ff3826"
163
164 config 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
171 config 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
177 config 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
183 config 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
193 config 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
203 endif   # if NET
204
205 config 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.