[dpdk-dev] zero copy of received segmented IP packet

Yossi Barshishat yossi at imvisiontech.com
Sun Mar 30 08:52:22 CEST 2014



Assuming I know ahead that all IP segments related to one single IP packet
ID arrive consequently and I need to forward the entire IP payload toward
the application layer.

One way to handle this is using a hash table for reassembly of the packet
data (like the ipv4_reassembly example), another way would be to assume one
single bucket (following the above assumption).


However any means the DPDK provides doesn't enable a zero copy mechanism (it
will be required to copy the segments payloads into one larger buffer).


Does anybody has any idea regarding a method to control the place where each
part of the packet will be written to?

e.g. allocating the first segment regularly while the packet data buffer is
set to the maximum packet length (rather than to MTU size), and then reading
n bytes after the start of each following segment into the data buffer.


That way I can forward the app layer the buffer without copying it.





More information about the dev mailing list