[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #63092] When the length of unack data is less than pcb
From: |
jiangheng |
Subject: |
[lwip-devel] [bug #63092] When the length of unack data is less than pcb->cwnd, LWIP cannot send packets. |
Date: |
Fri, 23 Sep 2022 06:14:29 -0400 (EDT) |
URL:
<https://savannah.nongnu.org/bugs/?63092>
Summary: When the length of unack data is less than
pcb->cwnd, LWIP cannot send packets.
Project: lwIP - A Lightweight TCP/IP stack
Submitter: 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
Discussion Lock: Any
Planned Release: None
lwIP version: 2.1.3
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Fri 23 Sep 2022 10:14:28 AM UTC By: jiangheng <jinag12345>
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(pcb);
}
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?
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/bugs/?63092>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] [bug #63092] When the length of unack data is less than pcb->cwnd, LWIP cannot send packets.,
jiangheng <=