net: Add TCP protocol
Currently file transfers are done using tftp or NFS both
over udp. This requires a request to be sent from client
(u-boot) to the boot server.
The current standard is TCP with selective acknowledgment.
Signed-off-by: Duncan Hare <DH@Synoia.com>
Signed-off-by: Duncan Hare <DuncanCHare@yahoo.com>
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
diff --git a/net/Kconfig b/net/Kconfig
index 52e2618..cb600fe 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -174,6 +174,22 @@
help
Select maximal length of option 17 root path.
+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.
+
endif # if NET
config SYS_RX_ETH_BUFFER