[ovs-dev] [branch 2.8 1/2] dp-packet: Refactor DPDK packet initialization.

Ben Pfaff blp at ovn.org
Tue Sep 26 22:53:08 UTC 2017


On Mon, Sep 25, 2017 at 07:01:35PM -0700, Darrell Ball wrote:
> DPDK uses dp-packet pools and manages the mbuf portion of
> each packet. When a pool is created, partial initialization is
> also done on the OVS portion (i.e. non-mbuf).  Since packet
> memory is reused, this is not very useful for transient
> fields and is also misleading.  Furthermore, some of these
> transient fields are properly initialized for DPDK packets
> entering OVS anyways, which is the only reasonable way to do this.
> Another field, cutlen, is initialized in this manner in the pool
> and intended to be reset when cutlen is applied on sending the
> packet out. However, if cutlen context is set but the packet is
> not sent out for some reason, then the packet header would be
> corrupted in the memory pool.  It is better to just reset the
> cutlen in the packets when received.  I did not detect a
> degradation in performance, however, I would be willing to
> have some degradation, since this is a proper way to handle
> this.  In addition to initializing cutlen in received packets,
> the other OVS transient fields are removed from the DPDK pool
> initialization.
> 
> Acked-by: Sugesh Chandran <sugesh.chandran at intel.com>
> Signed-off-by: Darrell Ball <dlu998 at gmail.com>

Thanks, I applied both of these to branch-2.8.


More information about the dev mailing list