[dpdk-dev] [PATCH v4 0/3] AF_XDP PMD Fixes

Ferruh Yigit ferruh.yigit at intel.com
Thu Feb 13 13:18:34 CET 2020


On 2/13/2020 8:49 AM, Ciara Loftus wrote:
> This series introduces some fixes for the zero copy path of the AF_XDP.
> In zero copy, the mempool objects are mapped directly into the AF_XDP UMEM.
> Below depicts the layout of an object in a mempool.
> 
> +-----+--------+------+------+-----+-------------+
> | mp  | struct | mbuf | mbuf | XDP |             |
> | hdr | rte_   | priv |  hr  | hr  |   payload   |
> | obj | mbuf   |      |      |     |             |
> +-----+--------+------+------+-----+-------------+
>   64     128       *     128   256        *
> 
> <---------------- frame size -------------------->
> <---- frame hr ------------->
> 
> 1: net/af_xdp: fix umem frame size & headroom calculations
> * The previous frame size calculation incorrectly used
> mb_pool->private_data_size and didn't include mb_pool->header_size. Instead
> of performing a manual calculation, use the rte_mempool_calc_obj_size API
> to determine the frame size.
> * The previous frame headroom calculation also incorrectly used
> mb_pool->private_data_size and didn't include mb_pool->header_size or the
> mbuf priv size.
> 
> 2. net/af_xdp: use correct fill queue addresses
> The fill queue addresses should start at the beginning of the mempool
> object instead of the beginning of the mbuf. This is because the umem frame
> headroom includes the mp hdrobj size. Starting at this point ensures AF_XDP
> doesn't write past the available room in the frame, in the case of larger
> packets which are close to the size of the mbuf.
> 
> 3. net/af_xdp: fix maximum MTU value
> The maximum MTU for af_xdp zero copy is equal to the page size less the
> frame overhead introduced by AF_XDP (XDP HR = 256) and DPDK (frame hr = 
> 320). The patch updates this value to reflect this, and removes some
> unneeded constants for both zero-copy and copy mode.
> 
> v4:
> * Deduct XDP_PACKET_HEADROOM from max mtu for copy mode.
> 
> v3:
> * Fix send-email issue - use in-reply-to
> 
> v2:
> * Include mbuf priv size in rx mbuf data_off calculation
> 
> Ciara Loftus (3):
>   net/af_xdp: fix umem frame size & headroom calculations
>   net/af_xdp: use correct fill queue addresses
>   net/af_xdp: fix maximum MTU value
> 

Series applied to dpdk-next-net/master, thanks.


More information about the dev mailing list