[dpdk-dev] [PATCH v3] net/ixgbe: enable PTYPE offload for x86 vector PMD

Ferruh Yigit ferruh.yigit at intel.com
Mon Jun 12 12:18:28 CEST 2017


On 6/11/2017 6:17 AM, Qi Zhang wrote:
> Hardware PTYPE in Rx desc will be parsed to fill
> mbuf's packet_type.
> 
> Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>

<...>

> diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile
> index 5529d81..8b86fe3 100644
> --- a/drivers/net/ixgbe/Makefile
> +++ b/drivers/net/ixgbe/Makefile
> @@ -125,6 +125,11 @@ SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599_bypass.c
>  endif
>  SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += rte_pmd_ixgbe.c
>  
> +# vector PMD driver needs SSE4.1 support
> +ifeq ($(findstring RTE_MACHINE_CPUFLAG_SSE4_1,$(CFLAGS)),)
> +CFLAGS_ixgbe_rxtx_vec_sse.o += -msse4.1
> +endif

Hi Qi,

What happens if runtime doesn't have SSE4.1 support?

Should we add a dynamic check as done in 140e [1] ?


And I am for extracting this part into another patch, to highlight what
is done here.

patch 1: Increase ixgbe minimum required support to SSE4.1
Patch 2: Add PTYPE support to vector PMD

[1]
http://dpdk.org/browse/dpdk/tree/drivers/net/i40e/i40e_rxtx_vec_sse.c#n626


> +
>  # install this header file
>  SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h
>  
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 2083cde..3e39648 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3717,6 +3717,14 @@ ixgbe_dev_supported_ptypes_get(struct rte_eth_dev *dev)
>  	    dev->rx_pkt_burst == ixgbe_recv_pkts_lro_bulk_alloc ||
>  	    dev->rx_pkt_burst == ixgbe_recv_pkts_bulk_alloc)
>  		return ptypes;
> +
> +#if defined(RTE_ARCH_X86_64) || \
> +	defined(RTE_ARCH_X86_X32) || \
> +	defined(RTE_ARCH_I686)

It is possible to use single "RTE_ARCH_X86" here, to cover all three.

> +	if (dev->rx_pkt_burst == ixgbe_recv_pkts_vec ||
> +	    dev->rx_pkt_burst == ixgbe_recv_scattered_pkts_vec)
> +		return ptypes;
> +#endif
>  	return NULL;
>  }

<...>


More information about the dev mailing list