Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Regular Visitor
akilkris
Posts: 22
Registered: ‎05-07-2010
0
Accepted Solution

lwIP rxperf throughput

Hi,

 

I have been using Spartan-3E board (XC3S500E) to do some ethernet experiments with the PC. I am using the lwIP in raw API mode. I used the default rxperf application to measure the throughput of the receiver, and I am getting a maximum bandwidth of 286 Kbps in iperf. My MicroBlaze system is running at 50 MHz, is there a way I can increase the throughput? I would like to get something in the range of 100 Mbps. I have also changed the compiler optimization level to "-O2." Please let me know.

 

Thanks

Expert Contributor
evgenis1
Posts: 338
Registered: ‎12-03-2007
0

Re: lwIP rxperf throughput

Hi,

 

This exact issue has been discussed a lot on this forum. Just search for "lwip performance", and you'll get a wealth of information, including links to Xilinx whitepapers and appnotes. 

 

 

Thanks,

Evgeni

Expert Contributor
rickysu
Posts: 128
Registered: ‎08-12-2007
0

Re: lwIP rxperf throughput

Refer to xapp1026 for expected lwip performance on various platforms.

 

Some software related tunings:

 

1. CPU Cache. Enable the cache space for external memory if lwip code is located in external memory.

2. Enlarge lwip buffer size:
For TCP without Jumbo Frame, pbuf_​pool_​bufsize = 9000,​ tcp_​wnd = 65535 can make lwip throughput higher than set to default values.
Regular Visitor
akilkris
Posts: 22
Registered: ‎05-07-2010
0

Re: lwIP rxperf throughput

Hi,

 

Thank you so much for your software solutions and I am now able to get a bandwidth of 5 Mbps. I referred to many other posts in the forums, and looked at things like checksum options. Is there anything more I can do to significantly enchance the throuhgput?

 

Thanks!

Expert Contributor
evgenis1
Posts: 338
Registered: ‎12-03-2007
0

Re: lwIP rxperf throughput

Hi,

 

One option to significantly increase the bandwidth is to have all-hardware implementation (no processor). That can achieve bandwidth close to the wire speed. I've implemented such a protocol stack for one of the commercial products, so I know it's possible and it's small enough to fit into your device. 

There are some open-source implementations of UDP, but you'd probably want to have other protocols as well, such as ARP, DHCP, ICMP, etc.

 

Thanks,

Evgeni

Regular Visitor
akilkris
Posts: 22
Registered: ‎05-07-2010
0

Re: lwIP rxperf throughput

Alright. But I need the processor in my system, and hence, I am looking for other lwip related software tunings. Even 20 Mbps would serve the needs of my application. Do you have any other software solutions for lwip and EMAC lite core in MicroBlaze-based systems? 

 

Thanks!

Expert Contributor
evgenis1
Posts: 338
Registered: ‎12-03-2007
0

Re: lwIP rxperf throughput

Hi,

 

TRECK is a high-performance IP stack you might want to take a look: http://www.treck.com/

But it's not cheap.

 

Thanks,

Evgeni

Regular Visitor
akilkris
Posts: 22
Registered: ‎05-07-2010
0

Re: lwIP rxperf throughput

Okay. Thanks for your help!