Slow iPerf throughput

@htibosch Yes, the reception is working very well. Only when doing reverse sending, the iPerf will become 0.00 bit/s. Can you please help to check the xNetworkInterfaceOutput() and all code that is executed after that?

Please find some remarks in this version:

NetworkInterface.tips.zip (4.9 KB)

I like the way you have implemented zero-copy reception, that is very original.
I mean the code in prvNetworkInterfaceInput(). You swap the contents pucEthernetBuffer with the DMA field pxReceiveBuffer->to.

I wrote some remarks about sending packets in a zero-copy way. Make sure you get the ownership right. Starting a transfer of a buffer means that you transfer the ownership to “DMA”. Only when DMA (TX) is ready, the descriptor can be released.

My comments all appear as a // comment.

1 Like