[dpdk-users] Sending packets without memory freeing

Александр Самойлов cidjey1991 at mail.ru
Wed Oct 28 15:52:28 CET 2015


 Hello, I'm developing a TCP reassembler of some sorts based on DPDK. Currently I'm working on TCP segments retransmission (because of time out).

To do so, I've developed the next idea: how about to keep every outgoing packet in a queue and remove them from there when the corresponding ACK has arrived. So the plan is simple: build a packet, push it into the queue, send it, wait for the ACK, remove the packet from the queue. If the retransmission time is out, retransmit the packet.

But this simple plan seems to be impractible, for DPDK frees mbufs when sending packets. So I really have to just copy all the packets before sending them, which is not a good idea, of course.

So I've thought that it could be nice to have an opportunity sometimes to send packets without actually freeing mbufs so that we could retransmit them if we have such a need.

P.S. Right now my actual plan is to go to the depths of DPDK, find the sending packets function and modify it a bit so it doesn't free the memory. But I have a suspision that it won't end well :)

P.S.S. Or maybe I'm missing something and there's an opportunity to send packets without freeing the memory after all?




More information about the users mailing list