Hi, there is a tinyhttp server example for lwIP / DPDK on github, did tou try that?
Do you call tcp_output() aftern tcp_send()? Regards, Leon On Tue, 12 Nov 2024 at 17:18, Meganathan Raja Mani <[email protected]> wrote: > Hi > > Integrated the lwIP stack over DPDK and the application is written by > using the lwIP raw API(NO_SYS=1). > > The main purpose of the application is to get max TCP throughput(10Gbps). > > Application is in full receiving(server) mode, which just sends ACK for > the client data. > > The lwIP application and client app are cross connected with 10Gbps intel > 82599 NIC card. > > The application has three threads. Each thread is pinned to a separate > core(Intel Xeon 3.1 GHz). > > All the threads are running in a poll mode. > > 1. One thread receives the packets from DPDK and enqueues into rte > ring. > 2. Second thread takes the packets from rte ring and converts into > pbuf and then passes it to lwIP stack by calling ip_input function. In the > receive callback, the app just frees the pbuf(does nothing). > 3. Third thread reads data from lwIP stack and sends out to DPDK > > > > Changed following things in lwIP stack. > > #define TCP_TMR_INTERVAL 5 /* The TCP timer interval in > milliseconds. */ > > #define MEMP_NUM_PBUF (10028) > > #define MEMP_NUM_TCP_SEG 160 > > #define TCP_SND_QUEUELEN MEMP_NUM_TCP_SEG > > #define PBUF_POOL_SIZE (10 * 1024) > > #define TCP_MSS 1460 > > #define TCP_WND 65535 > > #define LWIP_CHECKSUM_ON_COPY 1 > > #define TCP_SND_BUF 65535 > > #define TCP_SNDLOWAT TCP_SND_BUF/2 > > #define MEMP_NUM_TCPIP_MSG_INPKT 160 > > #define CHECKSUM_CHECK_IP 0 > > #define CHECKSUM_CHECK_TCP 0 > > #define LWIP_DEBUG 0 > > #define LWIP_ICMP 1 > > #define MEM_USE_POOLS 1 > > #define MEM_SIZE (128 * 1024 * 1024) > > #define MEM_ALIGNMENT 4 > > #define ETH_PAD_SIZE 2 > > #define LWIP_CHKSUM_ALGORITHM 2 > > #define LWIP_TCP_KEEPALIVE 1 > > Disable nagle(tcp_nagle_disable) for the pcb > > The stats_display() function doesn’t show any errors. > > With this,I can get max 2K packets per second(25 Mbps), which is very low. > > Any info about the max throughput can we get it with lwIP TCP protocol on > any platform? > > Please let me know what I should do to get max throughput (line rate 10 > Gbps). > > > > Regards, > > Meganathan > > _______________________________________________ > lwip-users mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/lwip-users >
_______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
