Hi,
Thanks for your answers.

Achieving 500-600Mbs using TCP on dedicated hardware is quite promising, so it 
might be some inefficiencies related to windows port or wincap (although 
Ethereal, i.e. Wireshark is using the wincap library for its packet sniffing, 
so i would guess it shouldn't degrade the performance by this much (magnitude 
of 10 vs regular WinSock API, 4-5Mbytes/susing lwip/Win32 vs 40-50Mbytes/s 
using WinSock)).

Meanwhile, I am trying to profile the stack itself, till the 
pcapif_low_level_output function is being called (it seems to be the transfer 
point into wincap library by calling the pcap_sendpacket).
Again, if somebody has been using the Win32 or Linux ports and has measured the 
throughput please let me know. 
I will also look into lwiopt.h to to try and optimize some values there, mostly 
regarding the memory and buffers constraints. 
I will post my results and timings later.

Any suggestions for "optimized" lwiopt.h values for the systems with more than 
just few Kbytes of RAM ?

Thank you,
Stas


From: [email protected]
To: [email protected]
Date: Tue, 7 Feb 2012 08:46:24 -0500
Subject: Re: [lwip-users] LWIP/WIN32 UDP performance (throughtput)
















I totally agree with Simon, at least with RAW API – I can’t
speak for NETCONN performance.  My “embedded” system is like
yours (667Mhz CPU and 256MB  667Mhz DDR2) and is zero-copy with optimized
checksum (aligned accesses and in assembly).  I can reach 500-600+MbS with
TCP.  In my testing of UDP the PC in some instances was not able to keep
pace receiving.  I do not run lwIP on the PC – we use Win32 sockets
so far without issues.

 

It would be nice to see a standard Win32/Linux program to
communicate with a simple lwIP test program (RAW, NETCONN, sockets) to create a
list of lwIP platforms and the results of the tests.

 







From:
[email protected]
[mailto:[email protected]] On Behalf
Of Simon Goldschmidt

Sent: Tuesday, February 07, 2012 12:57 AM

To: Mailing list for lwIP users

Subject: Re: [lwip-users] LWIP/WIN32 UDP performance (throughtput)





 



Zayaz Volk <[email protected]> wrote:













Obviously, it raise the questions





1. Did anyone try to work with lwip on linux/Win32 and what
throughput you've been able to achieve ?













 





In my opinion, the win32 port is mainly limited by the netif
driver: winpcap doesn't seem to give the best performance, since we have to
copy packets twice on RX (and I don't remember if it's once or twice on TX).
Also, lwIP doesn't really benefit from multiple CPU cores. Instead, you're
right that it is targeted on low resources rather that throughput. 





 





Still, i think lwIP should be able to achieve the
performance you want if:





A) your netif driver correctly supports zero copy and





B) you handle the stack "correctly" so that zero
copy is possible (I.e. data passed to a TX function must be left unchanged in
memory until the netif driver has actually sent it out).





 





Simon











_______________________________________________
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

Reply via email to