[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #55590] Zero window probe breaks incoming TCP stream
From: |
Puneet |
Subject: |
[lwip-devel] [bug #55590] Zero window probe breaks incoming TCP stream |
Date: |
Mon, 28 Jan 2019 09:00:02 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 |
URL:
<https://savannah.nongnu.org/bugs/?55590>
Summary: Zero window probe breaks incoming TCP stream
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: puneetsharma
Submitted on: Mon 28 Jan 2019 02:00:00 PM UTC
Category: TCP
Severity: 3 - Normal
Item Group: Faulty Behaviour
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: None
lwIP version: git head
_______________________________________________________
Details:
<h3>
In tcp_zero_window_probe, below patch updates snd_nxt without updating
pcb->unacked list.</font>
Change introduced in commit : 9ba9dee2aa809624eda0e96c96abd8abff29539e
Due to this change, if lwIP receives any data from peer while lwIP is
performing Zero Window probe, lwIP ACKs with sequence = snd_nxt +1 and while
len=0.
I see there is difference between Zero window probe implementation of lwIP and
linux.
Linux doesn't send any data in zero window probe.
While lwIP sends 1 byte of data in zero window probe. Even though lwIP sends 1
byte in zero window probe,it doesn't split unsent segment after window update
has been received.
118 16.312644000 192.168.0.3 192.168.0.2 TCP 1514 [TCP
Window Full]
5249\u219244878 [ACK] Seq=94463 Ack=1 Win=59392 Len=1460
119 16.351201000 192.168.0.2 192.168.0.3 TCP 54 [TCP
ZeroWindow]
44878\u21925249 [ACK] Seq=1 Ack=95923 Win=0 Len=0
120 17.083572000 192.168.0.3 192.168.0.2 TCP 55 [TCP
ZeroWindowProbe]
5249\u219244878 [ACK] Seq=95923 Ack=1 Win=59392 Len=1
121 17.083614000 192.168.0.2 192.168.0.3 TCP 54 [TCP
ZeroWindowProbeAck] [TCP
ZeroWindow] 44878\u21925249 [ACK] Seq=1 Ack=95923 Win=0 Len=0
122 17.266698000 192.168.0.2 192.168.0.3 TCP 254 [TCP
ZeroWindow]
44878\u21925249 [PSH, ACK] Seq=1 Ack=95923 Win=0 Len=200
<font color="red">
123 17.335240000 192.168.0.3 192.168.0.2 TCP 54 [TCP
Previous segment not
captured] 5249\u219244878 [ACK] Seq=95924 Ack=201 Win=59136 Len=0
</font>
124 17.335293000 192.168.0.2 192.168.0.3 TCP 54 [TCP
ZeroWindow]
44878\u21925249 [ACK] Seq=201 Ack=95923 Win=0 Len=0
125 17.467214000 192.168.0.2 192.168.0.3 TCP 254 [TCP
ZeroWindow]
44878\u21925249 [PSH, ACK] Seq=201 Ack=95923 Win=0 Len=200
126 17.587074000 192.168.0.3 192.168.0.2 TCP 54
5249\u219244878 [ACK]
Seq=95924 Ack=401 Win=58880 Len=0
</h3>
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/bugs/?55590>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] [bug #55590] Zero window probe breaks incoming TCP stream,
Puneet <=