lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #46948] Default TCP_SNDLOWAT invalid when TCP_SND_BUF


From: Joel Cunningham
Subject: [lwip-devel] [bug #46948] Default TCP_SNDLOWAT invalid when TCP_SND_BUF > 2*65535
Date: Thu, 21 Jan 2016 16:28:02 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0

URL:
  <http://savannah.nongnu.org/bugs/?46948>

                 Summary: Default TCP_SNDLOWAT invalid when TCP_SND_BUF >
2*65535
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jcunningham
            Submitted on: Thu 21 Jan 2016 04:28:01 PM GMT
                Category: TCP
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: git head

    _______________________________________________________

Details:

The calculation in opt.h for TCP_SNDLOWAT results in a invalid configuration
when TCP_SND_BUF is greater than 2*66535.

Due to limitations of tcp_write, tcp_sndbuf() is limited to returning 65535
(even with large send buffers) and when TCP_SNDLOWAT is greater than 65535, we
will never pass any checks where tcp_sndbuf() is compared against
TCP_SNDLOWAT.  This happens once the send buffer is full and then drains, but
we never mark the netconn/socket as writable again.

I've changed the value of TCP_SNDLOWAT in my port, but it would be good to
update the opt.h calculation to prevent this from happening when TCP_SND_BUF
is tuned to be large





    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?46948>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]