u-boot/net/Kconfig
Tom Rini 54f80dd290 Convert CONFIG_HOSTNAME et al to Kconfig
This converts the following to Kconfig:
   CONFIG_GATEWAYIP
   CONFIG_HOSTNAME
   CONFIG_IPADDR
   CONFIG_NETMASK
   CONFIG_ROOTPATH
   CONFIG_SERVERIP
   CONFIG_UBOOTPATH

To do this, we introduce a CONFIG_USE_ form of each of the above and
change include/env_default.h to test for that to be set before setting a
value. Further, we don't want to stringify the IP address related values
as they are now properly strings via Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-22 10:31:48 -05:00

265 lines
8.5 KiB
Plaintext

#
# Network configuration
#
menuconfig NET
bool "Networking support"
default y
if NET
config ARP_TIMEOUT
int "Milliseconds before trying ARP again"
default 5000
config NET_RETRY_COUNT
int "Number of timeouts before giving up"
default 5
help
This variable defines the number of retries for network operations
like ARP, RARP, TFTP, or BOOTP before giving up the operation.
config PROT_UDP
bool "Enable generic udp framework"
help
Enable a generic udp framework that allows defining a custom
handler for udp protocol.
config BOOTDEV_ETH
bool "Enable bootdev for ethernet"
depends on BOOTSTD
default y
help
Provide a bootdev for ethernet so that is it possible to boot
an operationg system over the network, using the PXE (Preboot
Execution Environment) protocol.
config BOOTP_SEND_HOSTNAME
bool "Send hostname to DNS server"
help
Some DHCP servers are capable to do a dynamic update of a
DNS server. To do this, they need the hostname of the DHCP
requester.
If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content
of the "hostname" environment variable is passed as
option 12 to the DHCP server.
config NET_RANDOM_ETHADDR
bool "Random ethaddr if unset"
help
Selecting this will allow the Ethernet interface to function even
when the ethaddr variable for that interface is unset. In this case,
a random MAC address in the locally administered address space is
generated. It will be saved to the appropriate environment variable,
too.
config NETCONSOLE
bool "NetConsole support"
help
Support the 'nc' input/output device for networked console.
See README.NetConsole for details.
config IP_DEFRAG
bool "Support IP datagram reassembly"
help
Selecting this will enable IP datagram reassembly according
to the algorithm in RFC815.
config NET_MAXDEFRAG
int "Size of buffer used for IP datagram reassembly"
depends on IP_DEFRAG
default 16384
range 1024 65536
help
This defines the size of the statically allocated buffer
used for reassembly, and thus an upper bound for the size of
IP datagrams that can be received.
config SYS_FAULT_ECHO_LINK_DOWN
bool "Echo the inverted Ethernet link state to the fault LED"
help
Echo the inverted Ethernet link state to the fault LED. Note, if
this option is active, then CONFIG_SYS_FAULT_MII_ADDR also needs to
be configured.
config TFTP_BLOCKSIZE
int "TFTP block size"
default 1468
help
Default TFTP block size.
The MTU is typically 1500 for ethernet, so a TFTP block of
1468 (MTU minus eth.hdrs) provides a good throughput with
almost-MTU block sizes.
You can also activate CONFIG_IP_DEFRAG to set a larger block.
config TFTP_PORT
bool "Set TFTP UDP source/destination ports via the environment"
help
If this is defined, the environment variable tftpsrcp is used to
supply the TFTP UDP source port value. If tftpsrcp isn't defined,
the normal pseudo-random port number generator is used.
Also, the environment variable tftpdstp is used to supply the TFTP
UDP destination port value. If tftpdstp isn't defined, the normal
port 69 is used.
The purpose for tftpsrcp is to allow a TFTP server to blindly start
the TFTP transfer using the pre-configured target IP address and UDP
port. This has the effect of "punching through" the (Windows XP)
firewall, allowing the remainder of the TFTP transfer to proceed
normally. A better solution is to properly configure the firewall,
but sometimes that is not allowed.
config TFTP_WINDOWSIZE
int "TFTP window size"
default 1
help
Default TFTP window size.
RFC7440 defines an optional window size of transmits,
before an ack response is required.
The default TFTP implementation implies a window size of 1.
config TFTP_TSIZE
bool "Track TFTP transfers based on file size option"
depends on CMD_TFTPBOOT
default y if (ARCH_OMAP2PLUS || ARCH_K3)
help
By default, TFTP progress bar is increased for each received UDP
frame, which can lead into long time being spent for sending
data over the UART. Enabling this option, TFTP queries the file
size from server, and if supported, limits the progress bar to
50 characters total which fits on single line.
config SERVERIP_FROM_PROXYDHCP
bool "Get serverip value from Proxy DHCP response"
help
Allows bootfile config to be fetched from Proxy DHCP server
while IP is obtained from main DHCP server.
config SERVERIP_FROM_PROXYDHCP_DELAY_MS
int "# of additional milliseconds to wait for ProxyDHCP response"
default 100
help
Amount of additional time to wait for ProxyDHCP response after
receiving response from main DHCP server. Has no effect if
SERVERIP_FROM_PROXYDHCP is false.
config KEEP_SERVERADDR
bool "Write the server's MAC address to 'serveraddr'"
default y if SANDBOX
help
Keeps the server's MAC address, in the env 'serveraddr'
for passing to bootargs (like Linux's netconsole option). If this is
enabled, when an ARP reply is received, the server's IP address is
written there.
config UDP_CHECKSUM
bool "Check the UDP checksum"
default y if SANDBOX
help
Enable this to verify the checksum on UDP packets. If the checksum
is wrong then the packet is discarded and an error is shown, like
"UDP wrong checksum 29374a23 30ff3826"
config BOOTP_SERVERIP
bool "Use the 'serverip' env var for tftp, not bootp"
help
Enable this if the TFTP server will be the 'serverip' environment
variable, not the BOOTP server. This affects the operation of both
bootp and tftp.
config BOOTP_MAX_ROOT_PATH_LEN
int "Option 17 root path length"
default 64
help
Select maximal length of option 17 root path.
config USE_GATEWAYIP
bool "Set a default 'gateway' value in the environment"
help
Defines a default value for the IP address of the default router
where packets to other networks are sent to. (Environment variable
"gatewayip")
config GATEWAYIP
string "Value of the default 'gateway' value in the environment"
depends on USE_GATEWAYIP
config USE_IPADDR
bool "Set a default 'ipaddr' value in the environment"
help
Define a default value for the IP address to use for the default
Ethernet interface, in case this is not determined through e.g.
bootp. (Environment variable "ipaddr")
config IPADDR
string "Value of the default 'ipaddr' value in the environment"
depends on USE_IPADDR
config USE_NETMASK
bool "Set a default 'netmask' value in the environment"
help
Defines a default value for the subnet mask (or routing prefix) which
is used to determine if an IP address belongs to the local subnet or
needs to be forwarded through a router. (Environment variable "netmask")
config NETMASK
string "Value of the default 'netmask' value in the environment"
depends on USE_NETMASK
config USE_ROOTPATH
bool "Set a default 'rootpath' value in the environment"
config ROOTPATH
string "Value of the default 'rootpath' value in the environment"
depends on USE_ROOTPATH
default "/opt/nfsroot"
config USE_SERVERIP
bool "Set a default 'serverip' value in the environment"
help
Defines a default value for the IP address of a TFTP server to
contact when using the "tftboot" command. (Environment variable
"serverip")
config SERVERIP
string "Value of the default 'serverip' value in the environment"
depends on USE_SERVERIP
config PROT_TCP
bool "TCP stack"
help
Enable a generic tcp framework that allows defining a custom
handler for tcp protocol.
config PROT_TCP_SACK
bool "TCP SACK support"
depends on PROT_TCP
help
TCP protocol with SACK. SACK means selective acknowledgements.
By turning this option on TCP will learn what segments are already
received. So that it improves TCP's retransmission efficiency.
This option should be turn on if you want to achieve the fastest
file transfer possible.
config IPV6
bool "IPv6 support"
help
Enable IPv6 support. It includes Neighbour Discovery protocol, ICMPv6
and auxiliary stuff to make it work. Since it is enabled u-boot
network subsystem can get and handle incoming packets and send packets
through IPv6 network. It allows to use environment variables such as
ip6addr, serverip6. If a u-boot command is capable to parse an IPv6
address and find it, it will force using IPv6 in the network stack.
endif # if NET
config SYS_RX_ETH_BUFFER
int "Number of receive packet buffers"
default 4
help
Defines the number of Ethernet receive buffers. On some Ethernet
controllers it is recommended to set this value to 8 or even higher,
since all buffers can be full shortly after enabling the interface on
high Ethernet traffic.