[dpdk-dev] [PATCH v8] net/iavf: support flex desc metadata extraction

Bruce Richardson bruce.richardson at intel.com
Wed Oct 14 16:03:36 CEST 2020


On Wed, Oct 14, 2020 at 01:31:39PM +0100, Ferruh Yigit wrote:
> On 10/13/2020 9:17 AM, Jeff Guo wrote:
> > Enable metadata extraction for flexible descriptors in AVF, that would
> > allow network function directly get metadata without additional parsing
> > which would reduce the CPU cost for VFs. The enabling metadata
> > extractions involve the metadata of VLAN/IPv4/IPv6/IPv6-FLOW/TCP/MPLS
> > flexible descriptors, and the VF could negotiate the capability of
> > the flexible descriptor with PF and correspondingly configure the
> > specific offload at receiving queues.
> > 
> > Signed-off-by: Jeff Guo <jia.guo at intel.com>
> > Acked-by: Haiyue Wang <haiyue.wang at intel.com>
> > ---
> > v8:
> > rebase patch for apply issue
> > 
> > v7:
> > clean some useless and add doc
> > 
> > v6:
> > rebase patch
> > 
> > v5:
> > remove ovs configure since ovs is not protocol extraction
> > 
> > v4:
> > add flex desc type in rx queue for handling vector path
> > handle ovs flex type
> > 
> > v3:
> > export these global symbols into .map
> > 
> > v2:
> > remove makefile change and modify the rxdid handling
> > ---
> >   config/rte_config.h                       |   3 +
> >   doc/guides/nics/intel_vf.rst              |  16 +
> >   doc/guides/rel_notes/release_20_11.rst    |   6 +
> >   drivers/net/iavf/iavf.h                   |  24 +-
> >   drivers/net/iavf/iavf_ethdev.c            | 394 ++++++++++++++++++++++
> >   drivers/net/iavf/iavf_rxtx.c              | 252 ++++++++++++--
> >   drivers/net/iavf/iavf_rxtx.h              | 168 +++++----
> >   drivers/net/iavf/iavf_rxtx_vec_common.h   |   3 +
> >   drivers/net/iavf/iavf_vchnl.c             |  22 +-
> >   drivers/net/iavf/meson.build              |   2 +
> >   drivers/net/iavf/rte_pmd_iavf.h           | 250 ++++++++++++++
> >   drivers/net/iavf/rte_pmd_iavf_version.map |  13 +
> >   12 files changed, 1039 insertions(+), 114 deletions(-)
> >   create mode 100644 drivers/net/iavf/rte_pmd_iavf.h
> > 
> > diff --git a/config/rte_config.h b/config/rte_config.h
> > index 03d90d78bc..2c53072c3d 100644
> > --- a/config/rte_config.h
> > +++ b/config/rte_config.h
> > @@ -127,6 +127,9 @@
> >   #define RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF 4
> >   #define RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM 4
> > +/* iavf defines */
> > +#undef RTE_LIBRTE_IAVF_16BYTE_RX_DESC
> > +
> 
> Hi Jeff,
> 
> The 'RTE_LIBRTE_IAVF_16BYTE_RX_DESC' was already there, not introduced with
> this patch, so I think better to add this change as different patch.
> 
> Also not sure if we want to add more config options to the 'rte_config.h',
> indeed otherway around and we are trying to get rid of as much as compile
> time optios.
> cc'ed Bruce too.
> 
Actually, there is also patchset [1] to consider, which changes the format
of these values in the header file. It's better to not "undef" the not set
values, as that prevents someone from setting them via cflags/c_args when
building.

/Bruce

[1] http://patches.dpdk.org/project/dpdk/list/?series=11928


More information about the dev mailing list