[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] TCP transfer speed with Xilinx lwip_v3_00_a(lwip-1.2.0)
From: |
Roger Cover |
Subject: |
RE: [lwip-users] TCP transfer speed with Xilinx lwip_v3_00_a(lwip-1.2.0) |
Date: |
Tue, 8 Jan 2008 13:01:54 -0700 |
Hi Nathan,
I am using the Xilinx Virtex 4 for my lwIP projects also. I
am using the callback (raw) API with lwIP 1.2.0. I had similar performance to
what you are reporting when I started. My solution was to modify the make file
for lwIP and the driver provided by Xilinx. I now get 8 megabytes per second
average throughput on my 32 megabyte data sets (4 seconds total transfer time)
using UDP and 6.3 megabytes per second using TCP/IP.
I don't think your problem is the settings you are using. I
think the problem is more likely a very inefficient driver.
Regards,
Roger W. Cover
Spectral
Instruments, Inc.
420 N. Bonita Ave.
Tucson, AZ 85745
From:
address@hidden
[mailto:address@hidden On Behalf Of
Nathan Sam
Sent: Monday, January 07, 2008 5:49 PM
To:
address@hidden
Subject: [lwip-users] TCP transfer speed with
Xilinx lwip_v3_00_a(lwip-1.2.0)
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
Never miss a thing. Make Yahoo
your homepage.