Hi,
This is regarding the lwipopts file for a TCP server running on Virtex-4.
I am hitting a very low 100 KB/sec speed.
(1) It is a very simple client-server program based on SOCKET based API.
(2) Virtex4-PPC is the (SERVER) running Xilinx lwip_v3_00_a (lwip-1.2.0). Linux machine acts as a (CLIENT).
(3) Lot of memory (DDR) in the Server is available to be used for Lwip.
I need to transfer about 256 MB of data. Can anyone suggest if there is anything terribly wrong with my lwipopts file. I can understand that Socket API has some performance limitation (compared to Raw API), but I guess it should be better than 100 KB/sec.
#ifndef __LWIPOPTS_H_
#define __LWIPOPTS_H_
#define SYS_LIGHTWEIGHT_PROT 1
#define MEM_ALIGNMENT
8
#define MEM_SIZE 700000
#define MEMP_NUM_PBUF 16
#define MEMP_NUM_UDP_PCB 5
#define MEMP_NUM_TCP_PCB 50
#define MEMP_NUM_TCP_PCB_LISTEN 5
#define MEMP_NUM_TCP_SEG 256
#define MEM_LIBC_MALLOC 1
#define MEMP_NUM_NETBUF 100
#define MEMP_NUM_NETCONN 100
#define MEMP_NUM_API_MSG 100
#define MEMP_NUM_TCPIP_MSG 100
#define MEMP_NUM_SYS_TIMEOUT 5
#define PBUF_POOL_SIZE 2048
#define PBUF_POOL_BUFSIZE 2048
#define PBUF_LINK_HLEN 16
#define ARP_TABLE_SIZE 10
#define ARP_QUEUEING 1
#define ICMP_TTL 255
#define IP_OPTIONS 0
#define IP_FORWARD 0
#define IP_REASSEMBLY 0
#define IP_FRAG 1
#define IP_REASS_BUFSIZE 5760
#define IP_FRAG_MAX_MTU 1500
#define IP_DEFAULT_TTL 255
#define LWIP_UDP 1
#define UDP_TTL 255
#define LWIP_TCP 1
#define TCP_SND_QUEUELEN 16 *
TCP_SND_BUF/TCP_MSS
#define TCP_MSS 1460
#define TCP_SND_BUF 32768
#define TCP_WND 2*16384
#define TCP_TTL 255
#define TCP_MAXRTX 12
#define TCP_SYNMAXRTX 4
#define TCP_QUEUE_OOSEQ 1
#define CHECKSUM_GEN_TCP 1
#define CHECKSUM_CHECK_TCP 1
#define LWIP_DHCP 0
#define DHCP_DOES_ARP_CHECK true
#define CONFIG_LINKSPEED_AUTODETECT 1
#endif
THANKS & RGDS
Senthil