mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-25 23:06:15 +00:00

Changes: * Fix initial send sequence always zero issue * Use state machine close to RFC 9293. This should make TCP transfers more reliable (now we can upload a huge array of data from the board to external server) * Improve TCP framework a lot. This should make tcp client code much more simple. * rewrite wget with new tcp stack * rewrite fastboot_tcp with new tcp stack It's quite hard to fix the initial send sequence (ISS) issue with the separate patch. A naive attempt to fix an issue inside the tcp_set_tcp_header() function will break tcp packet retransmit logic in wget and other clients. Example: Wget stores tcp_seq_num value before tcp_set_tcp_header() will be called and (on failure) retransmit the packet with the stored tcp_seq_num value. Thus: * the same ISS must allways be used (current case) * or tcp clients needs to generate a proper ISS when required. A proper ISS fix will require a big redesing comparable with a this one. Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> Reviewed-by: Simon Glass <sjg@chromium.org>
13 lines
251 B
C
13 lines
251 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Duncan Hare Copyright 2017
|
|
*/
|
|
|
|
/**
|
|
* wget_start() - begin wget
|
|
*/
|
|
void wget_start(void);
|
|
|
|
#define DEBUG_WGET 0 /* Set to 1 for debug messages */
|
|
#define WGET_RETRY_COUNT 30
|
|
#define WGET_TIMEOUT 2000UL
|