lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #60415] Large data transmissions (from lwip to client)


From: SviMik
Subject: [lwip-devel] [bug #60415] Large data transmissions (from lwip to client) sometimes stop
Date: Sun, 18 Apr 2021 22:58:25 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36

URL:
  <https://savannah.nongnu.org/bugs/?60415>

                 Summary: Large data transmissions (from lwip to client)
sometimes stop
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: svimik
            Submitted on: Mon 19 Apr 2021 02:58:23 AM 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: Other

    _______________________________________________________

Details:

I'm using lwIP 2.1.2.

It works fine most of the time, but in some cases if I try to send large
amount of data at high speed the transfer (from lwip to client) stops at some
point and does not resume until one of the sides decide to close the
connection.

I tried to investigate with Wireshark and I see a group of 16 Dup ACK packets
until the client gives up seemingly not satisfied with lwip response:

https://svimik.com/lwipstall3a.pcapng [22MB]

As a workaround I tried to wait for snd_queuelen to become zero before calling
next tcp_write(). It fixes the problem, but (obviously) limits the
throughput.

My config is:
#define MEMP_NUM_TCP_PCB_LISTEN 16
#define MEMP_NUM_TCP_PCB 1024
#define TCP_MSS 1460
#define TCP_SND_BUF (20 * TCP_MSS)
#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
#define TCP_MAXRTX 6
#define TCP_WND (8 * TCP_MSS)
#define LWIP_TCP_SACK_OUT 0
#define LWIP_TCP_KEEPALIVE 1
#define TCP_KEEPIDLE_DEFAULT 5000
#define TCP_KEEPINTVL_DEFAULT 5000
#define TCP_KEEPCNT_DEFAULT 3




    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?60415>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

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