mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-24 01:28:15 +01: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>
14 lines
251 B
C
14 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
|