buglwIP - A Lightweight TCP/IP stack - Bugs: bug #54160, tcp_pcb_purge() and snd_queuelen

 
 

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

bug #54160: tcp_pcb_purge() and snd_queuelen

Submitter:  Robert Reither <nathan2225>
Submitted:  Thu 21 Jun 2018 07:58:37 AM UTC
   
 
Category:  TCP Severity:  3 - Normal
Item Group:  Faulty Behaviour Status:  Invalid
Privacy:  Public Assigned to:  goldsimon
Open/Closed:  Closed Planned Release:  None
lwIP version:  1.3.0

Thu 21 Jun 2018 08:41:35 AM UTC, comment #1: 

tcp_pcu_purge() is an internal function that is used before freeing the pcb. The pcb's state is more or less undefined after this function returns.

In other words, just don't call it from outside the stack, it certainly does not do what you want.

Simon Goldschmidt <goldsimon>
Group administrator
Thu 21 Jun 2018 07:58:37 AM UTC, original submission:  

Hi, I was playing around a little bit with that function (to clean up after congestion due to blocked client side of connection and was wondering how this should work.
I'm still stuck on lwip 1.3.0, but afaics, this code was not changed up to 2.0.3

If I call the func, all unsent and unacked packets were removed, but the sum of these packages (kept in the var snd_queuelen) was not reseted.
So after calling, I still cannot add new packets to the connection, because snd_queuelen is still at max (TCP_SND_QUEUELEN)

maybe we need here

pcb->snd_queuelen = 0;

Regards
Robert

Robert Reither <nathan2225>

 

(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 goldsimon (Posted a comment)
  • -email is unavailable- added by nathan2225 (Submitted the item)
  • -email is unavailable- added by nathan2225
  •  

    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.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-06-21 goldsimon StatusNone Invalid
        Assigned toNone goldsimon
        Open/ClosedOpen Closed
    2018-06-21 nathan2225 Carbon-Copy- Added nathan2225

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code