[PATCH] net: wget: Support retransmission a dropped packet
Fabio Estevam
festevam at gmail.com
Sun Apr 14 21:04:43 CEST 2024
Hi Yasuharu,
On Sun, Apr 14, 2024 at 9:46 AM Yasuharu Shibata
<yasuharu.shibata at gmail.com> wrote:
>
> The server sends multiple packets without waiting for an ACK
> by window control and if some packets are dropped,
> wget will return an ACK including the dropped packets.
>
> Following log indicates this issue.
>
> wget_handler() wget: Transferring, seq=97bbdd4a, ack=30,len=580
> wget_handler() wget: Transferring, seq=97bbedca, ack=30,len=580
>
> First packet of TCP sequence number is 0x97bbdd4a.
> Second packet of TCP sequence number should be 0x97bbe2ca,
> however it is 0x97bbedca and returns its ACK, so the server
> suppose that 0x97bbe2ca and 0x97bbedca are received appropriately.
> In this case, 0x97bbe2ca was lost and the data of wget was broken.
>
> In this patch, next_data_seq_num holds the next expected
> TCP sequence number.
> If the TCP sequence number different from next_data_seq_num,
> trying to retransmit the packet.
Thanks for your patch.
I tested it in the hope that it would fix the following issue:
https://lore.kernel.org/u-boot/CAJ+vNU2U9W2NRT6hf1CAEQ_56SDQviUEzuDD1iYOpdf1CNaZBw@mail.gmail.com/
but I still get wget corruption when loading large files multiple
times in a row.
Would you happen to have any suggestions?
Thanks
More information about the U-Boot
mailing list