[dpdk-dev] [PATCH v8] net/iavf: support flex desc metadata extraction
Wang, Haiyue
haiyue.wang at intel.com
Mon Oct 26 12:41:19 CET 2020
Hi Olivier,
> -----Original Message-----
> From: Olivier Matz <olivier.matz at 6wind.com>
> Sent: Monday, October 26, 2020 17:37
> To: Yigit, Ferruh <ferruh.yigit at intel.com>
> Cc: Guo, Jia <jia.guo at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>; Xing, Beilei <beilei.xing at intel.com>; dev at dpdk.org; Wang, Haiyue
> <haiyue.wang at intel.com>; Richardson, Bruce <bruce.richardson at intel.com>
> Subject: Re: [PATCH v8] net/iavf: support flex desc metadata extraction
>
> Hi,
>
> 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>
>
> [...]
>
> > > +EXPERIMENTAL {
> > > + global:
> > > +
> > > + # added in 20.11
> > > + rte_net_iavf_dynfield_proto_xtr_metadata_offs;
> > > + rte_net_iavf_dynflag_proto_xtr_vlan_mask;
> > > + rte_net_iavf_dynflag_proto_xtr_ipv4_mask;
> > > + rte_net_iavf_dynflag_proto_xtr_ipv6_mask;
> > > + rte_net_iavf_dynflag_proto_xtr_ipv6_flow_mask;
> > > + rte_net_iavf_dynflag_proto_xtr_tcp_mask;
> > > + rte_net_iavf_dynflag_proto_xtr_ip_offset_mask;
> >
> > As a namespace previously "rte_pmd_xxx" was used for PMD specific APIs, can
> > you please switch to that?
> > 'rte_net_' is used by the 'librte_net' library.
> >
> > Above list is the dynfield values, what is the correct usage for dynfields,
> > 1- Put dynfileds names in to the header, and application does a lookup
> > ('rte_mbuf_dynfield_lookup()') to get the dynfield values.
> > or
> > 2- Expose dynfield values to be accessed directly from application, as done above.
> >
> > @Oliver, can you please support.
> >
> > I can see (1) has advantage of portability if more than one PMD supports
> > same dynfield names, but that sees not a case for above ones.
>
> If I understand the question correctly, this is the same that was
> discussed here:
>
> http://inbox.dpdk.org/dev/20191030165626.w3flq5wdpitpsv2v@platinum/
>
> To me, exporting the variables containing the dynfield offsets is easier
> to use: we don't need to have additional private variables to store them
> in each API users (usually one static variable per file, which can be
> heavy).
No issue for one PMD, but if two PMDs share the same dynfields, the application
has to use two namespace variables to access the same value, like:
if (mb->ol_flags & PMD_A_DYNFIELD_B_MASK)
else if (mb->ol_flags & PMD_B_DYNFIELD_B_MASK)
This make the application code a little duplicated. ;-)
>
> Olivier
More information about the dev
mailing list