Files
u-boot/include
Mikhail Kshevetskiy bf962de97c net/tcp: improve tcp framework, use better state machine
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>
2024-12-28 11:59:42 -06:00
..
2024-10-17 03:12:47 +02:00
2023-08-25 13:54:33 -04:00
2023-08-08 10:22:03 -04:00
2024-07-29 15:01:04 -06:00
2023-12-21 08:54:37 -05:00
2024-10-24 11:20:58 -06:00
2024-07-29 15:01:04 -06:00
2024-08-26 14:05:38 -06:00
2024-02-13 15:38:49 -05:00
2024-07-29 15:01:04 -06:00
2024-08-02 15:16:51 -03:00
2024-10-23 06:52:38 +02:00
2024-11-20 17:57:58 +01:00
2024-07-29 15:01:04 -06:00
2024-06-14 12:59:07 -06:00
2024-08-26 14:05:38 -06:00
2024-07-29 15:01:04 -06:00
2023-05-02 14:23:34 -04:00
2024-09-24 13:41:20 -06:00
2023-01-20 12:27:06 -05:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2023-11-07 14:50:51 -05:00
2024-07-29 15:01:04 -06:00
2024-08-13 06:23:15 +02:00
2023-04-27 13:51:06 -04:00
2023-12-21 11:59:49 -05:00
2024-10-10 16:02:20 -06:00
2024-11-03 21:27:12 -06:00
2024-07-29 15:01:04 -06:00
2023-12-21 08:54:37 -05:00
2024-11-04 16:41:38 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-10-24 11:21:48 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2023-12-21 08:54:37 -05:00
2024-11-25 23:07:37 -03:00
2024-09-30 17:48:12 -06:00
2024-11-20 17:57:58 +01:00
2024-07-29 15:01:04 -06:00
2023-01-16 18:01:10 +08:00
2024-09-12 17:35:37 +02:00
2023-12-21 08:54:37 -05:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-12-27 15:16:10 -06:00
2023-10-09 15:24:31 -04:00
2023-02-10 07:41:40 -05:00
2024-07-29 15:01:04 -06:00
2024-06-30 13:58:31 +02:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-10-22 19:51:23 +02:00
2024-11-13 08:14:23 -06:00
2024-07-29 15:01:04 -06:00