[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