zynq and tcp

heinbali01 wrote on Friday, October 30, 2015:

running high performance tcp 600mbs or more

Sounds like you have a 1000 mbit LAN?

Unfortunately we have only tested a Xilinx Zynq with a 100 mbs adapter.

Hopefully Hein will chip in with some throughput figures too.

On a 100 mbs LAN we saw a nett throughput of up to 10 MByte, which is about the maximum you can get. This test was done with FTP, transferring big files to or from a RAM-disk.

If you have any questions about porting +TCP to your 1 Gbps MAC, please post them here.

Also I have developed a ‘iperf’ server for FreeRTOS +TCP, in case you want to do performance testing.

I find that ‘iperf’ isn’t very interesting, and like Richard wrote, it is important to see the performance in real life.

figure out how to implement in raw mode

Within +TCP there is only one mode, which is the official BSD interface. But there are some back-doors, for those who prefer speed above compatibility:

  • The use of zero-copy for sending and receiving, both for UDP and TCP.
  • The use of call-backs from the IP-task such as OnReceive, OnSent, and OnError. These hooks are installable per socket.

An echo server which uses an OnReceive handler will have a higher performance because it uses less context switches and less copying.

Regards.