Forum Discussion
Altera_Forum
Honored Contributor
14 years agoBill,
--- Quote Start --- If you NAK each packet, yes. And sending is faster. I have a multi-nak protocol which might have to go back in the buffer and resend one or more packets. I actually build and checksum the IP and UDP headers in a static position and only patch the checksum before sending the packet header and payload. This is because most of the header doesn't change. lwIP could incorporate this too because once connected to a PCB, much of the header and that checksum part is static. --- Quote End --- When you receive multi-nak response you may simply build a list of descriptors, pointing to appropriate stored packets, and feed it to SGDMA to retransmit complete batch asynchronously. The overhead is large number of SGDMA descriptors (I used one for every packet in the retransmit buffer) + space for headers + need for dedicated SGDMA hardware. Also I had to design my protocol such that retransmitted packets are exact copies of the originals. I tested this for up to 100% retransmit rate @ 300MBit/sec. Frankly speaking now I switched back to simple udp_send_to_if() because retransmit traffic is miserable on real LAN when appropriate software at host side is used. Igor