u-boot/net/Kconfig
Ramon Fried cc6b87ecaa net: tftp: Add client support for RFC 7440
Add support for RFC 7440: "TFTP Windowsize Option".

This optional feature allows the client and server
to negotiate a window size of consecutive blocks to send as an
alternative for replacing the single-block lockstep schema.

windowsize can be defined statically during compilation by
setting CONFIG_TFTP_WINDOWSIZE, or defined in runtime by
setting an environment variable: "tftpwindowsize"
If not defined, the windowsize is set to 1, meaning that it
behaves as it was never defined.

Choosing the appropriate windowsize depends on the specific
network topology, underlying NIC.
You should test various windowsize scenarios and see which
best work for you.

Setting a windowsize too big can actually decreases performance.

Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
2020-08-04 23:30:02 -04:00

72 lines
1.9 KiB
Plaintext

#
# Network configuration
#
menuconfig NET
bool "Networking support"
default y
if NET
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.
A new MAC address will be generated on every boot and it will
not be added to the environment.
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"
default n
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 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_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.
endif # if NET