[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