iPXE currently ignores ACKs which do not acknowledge any new data. (In particular, it does not stop the retransmission timer; this is done to prevent an immediate retransmission if a duplicate ACK is received while the transmit queue is non-empty.) If a peer provides a window size of zero and later sends a duplicate ACK to update the window size, this update will therefore be ignored and iPXE will never be able to transmit data. Fix by updating the window size even for ACKs which do not acknowledge new data. Reported-by: Wissam Shoukair <wissams@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
890 |
|
890 |
|
891 |
|
891 |
|
892 |
|
892 |
|
|
893 |
|
|
|
894 |
|
|
|
895 |
|
|
893 |
|
896 |
|
894 |
|
897 |
|
895 |
|
898 |
|
|
|
||
911 |
|
914 |
|
912 |
|
915 |
|
913 |
|
916 |
|
914 |
|
|
|
|
917 |
|
|
915 |
|
918 |
|
916 |
|
919 |
|
917 |
|
|
|
918 |
|
920 |
|
919 |
|
921 |
|
920 |
|
922 |
|