Hi Yasuharu, On Sun, Apr 14, 2024 at 9:46 AM Yasuharu Shibata <yasuharu.shib...@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_56sdqviuezudd1iyopdf1cna...@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