> -----Original Message----- > From: Wang, Haiyue <haiyue.w...@intel.com> > Sent: Wednesday, September 23, 2020 4:11 PM > To: Guo, Jia <jia....@intel.com>; Wu, Jingjing <jingjing...@intel.com>; > Zhang, Qi Z <qi.z.zh...@intel.com>; Xing, Beilei <beilei.x...@intel.com> > Cc: dev@dpdk.org > Subject: RE: [PATCH v3] net/iavf: support flex desc metadata extraction > > > -----Original Message----- > > From: Guo, Jia <jia....@intel.com> > > Sent: Wednesday, September 23, 2020 15:53 > > To: Wu, Jingjing <jingjing...@intel.com>; Zhang, Qi Z > > <qi.z.zh...@intel.com>; Xing, Beilei <beilei.x...@intel.com> > > Cc: dev@dpdk.org; Wang, Haiyue <haiyue.w...@intel.com>; Guo, Jia > > <jia....@intel.com> > > Subject: [PATCH v3] net/iavf: support flex desc metadata extraction > > > > 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....@intel.com> > > --- > > v3: > > export these global symbols into .map > > > > v2: > > remove makefile change and modify the rxdid handling > > --- > > doc/guides/rel_notes/release_20_11.rst | 6 + > > drivers/net/iavf/iavf.h | 25 +- > > drivers/net/iavf/iavf_ethdev.c | 395 ++++++++++++++++++++++ > > drivers/net/iavf/iavf_rxtx.c | 282 +++++++++++++-- > > drivers/net/iavf/iavf_rxtx.h | 233 +++++++------ > > 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 + > > 9 files changed, 1081 insertions(+), 147 deletions(-) create mode > > 100644 drivers/net/iavf/rte_pmd_iavf.h > > > > > > +enum iavf_flex_desc_type { > > +IAVF_FLEX_DESC_NONE, > > +IAVF_FLEX_DESC_VLAN, > > +IAVF_FLEX_DESC_IPV4, > > +IAVF_FLEX_DESC_IPV6, > > +IAVF_FLEX_DESC_IPV6_FLOW, > > +IAVF_FLEX_DESC_TCP, > > +IAVF_FLEX_DESC_OVS, > > +IAVF_FLEX_DESC_IP_OFFSET, > > +IAVF_FLEX_DESC_MAX, > > +}; > > The vector PMD will also support extract the above data type ? Take ice as an > example, if user specifies the 'proto_xtr', the vector Rx path will be > disabled, > it will be handled in C function. > > enum proto_xtr_type { > PROTO_XTR_NONE, > PROTO_XTR_VLAN, > PROTO_XTR_IPV4, > PROTO_XTR_IPV6, > PROTO_XTR_IPV6_FLOW, > PROTO_XTR_TCP, > PROTO_XTR_IP_OFFSET, > PROTO_XTR_MAX /* The last one */ > }; > > static inline int > ice_rx_vec_queue_default(struct ice_rx_queue *rxq) { ... > > if (rxq->proto_xtr != PROTO_XTR_NONE) > return -1; > > return 0; > } >
You are right, vector will not support extraction, the version lack of handling for that. > > > -- > > 2.20.1 >