buglwIP - A Lightweight TCP/IP stack - Bugs: bug #63092, When the length of unack data is...


You are not allowed to post comments on this tracker with your current authentication level.

bug #63092: When the length of unack data is less than pcb->cwnd, LWIP cannot send packets.

Submitter:  jiangheng <jinag12345>
Submitted:  Fri 23 Sep 2022 10:14:28 AM UTC
Category:  TCP Severity:  3 - Normal
Item Group:  None Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open Planned Release:  None
lwIP version:  2.1.3

Fri 23 Sep 2022 10:14:28 AM UTC, original submission:  

In tcp_output function:
if (lwip_ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len > wnd) {
    goto output_done;

In tcp_slowmgr function:
if (pcb->rtime >= pcb->rto) {
    pcb->cwnd = pcb->mss;

tcp_rexmit_rto_commit ≈ tcp_output;

in tcp_output, The printf command output is as follows:
lwip_ntohl(seg->tcphdr->seqno) = 405161
pcb->lastack = 403701
seg->len = 1460
pcb->snd_wnd 65535
pcb->cwnd = 1460
so tcp_output will not send this tcp segment, It enters the slow start phase of congestion control and cannot exit.
Although unack data exists, the value of snd_wnd is 65535. lwip cant send data is correct this moment?

jiangheng <jinag12345>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by jinag12345 (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code