From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Jeff Guo <jia.guo@intel.com>,
jingjing.wu@intel.com, qi.z.zhang@intel.com,
beilei.xing@intel.com
Cc: dev@dpdk.org, haiyue.wang@intel.com,
Bruce Richardson <bruce.richardson@intel.com>,
Olivier Matz <olivier.matz@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v8] net/iavf: support flex desc metadata extraction
Date: Wed, 14 Oct 2020 13:31:39 +0100 [thread overview]
Message-ID: <0257ccb2-88eb-a49a-77f9-9e611f3c266a@intel.com> (raw)
In-Reply-To: <20201013081734.47507-1-jia.guo@intel.com>
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@intel.com>
> Acked-by: Haiyue Wang <haiyue.wang@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.
> /* Ring net PMD settings */
> #define RTE_PMD_RING_MAX_RX_RINGS 16
> #define RTE_PMD_RING_MAX_TX_RINGS 16
> diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
> index ade5152595..207f456143 100644
> --- a/doc/guides/nics/intel_vf.rst
> +++ b/doc/guides/nics/intel_vf.rst
> @@ -615,3 +615,19 @@ which belongs to the destination VF on the VM.
> .. figure:: img/inter_vm_comms.*
>
> Inter-VM Communication
> +
> +
> +Pre-Installation Configuration
> +------------------------------
> +
> +Config File Options
> +~~~~~~~~~~~~~~~~~~~
> +
> +The following options can be modified in the ``config`` file.
> +Please note that enabling debugging options may affect system performance.
> +
> +- ``CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC`` (default ``n``)
There is no 'CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC' anymore, this is from make
days naming.
Instead, what do you think not adding the 'RTE_LIBRTE_IAVF_16BYTE_RX_DESC' to
the 'rte_config.h', but document how this flag can be provided by meson during
build:
meson -Dc_args="-DRTE_LIBRTE_IAVF_16BYTE_RX_DESC"
And we should plan for long term to convert this compile time flag to runtime
devargs.
What do you think?
> +
> + Toggle to use a 16-byte RX descriptor, by default the RX descriptor is 32 byte.
> + Configure to 16-byte Rx descriptor may cause a negotiation failure during VF driver initialization
> + if the PF driver doesn't support.
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index e7691ee732..93d3ccc60a 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -160,6 +160,12 @@ New Features
> packets with specified ratio, and apply with own set of actions with a fate
> action. When the ratio is set to 1 then the packets will be 100% mirrored.
>
> +* **Updated Intel iavf driver.**
> +
> + Updated iavf PMD with new features and improvements, including:
> +
> + * Added support for flexible descriptor metadata extraction.
> +
Can you please move the update to the net drivers block, instead of very bottom.
There is an order in the release notes (as commented in section header) like:
- core libs
- ethdev lib related changes
- ethdev PMDS change
- ...
<...>
> +
> +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.
next prev parent reply other threads:[~2020-10-14 12:31 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-09 2:54 [dpdk-dev] [PATCH v1] " Jeff Guo
2020-09-17 3:00 ` Wang, Haiyue
2020-09-18 2:41 ` Guo, Jia
2020-09-23 7:45 ` [dpdk-dev] [PATCH v2] " Jeff Guo
2020-09-23 7:52 ` [dpdk-dev] [PATCH v3] " Jeff Guo
2020-09-23 8:10 ` Wang, Haiyue
2020-09-23 8:22 ` Guo, Jia
2020-09-23 15:36 ` [dpdk-dev] [PATCH v4] " Jeff Guo
2020-09-25 6:23 ` [dpdk-dev] [PATCH v5] " Jeff Guo
2020-09-25 6:33 ` Wang, Haiyue
2020-09-27 2:08 ` [dpdk-dev] [PATCH v6] " Jeff Guo
2020-09-27 3:00 ` Zhang, Qi Z
2020-09-28 15:59 ` Ferruh Yigit
2020-09-28 16:17 ` Wang, Haiyue
2020-09-28 16:21 ` Bruce Richardson
2020-09-28 16:29 ` Wang, Haiyue
2020-09-29 2:27 ` Guo, Jia
2020-09-29 6:10 ` [dpdk-dev] [PATCH v7] " Jeff Guo
2020-09-29 6:12 ` Jeff Guo
2020-10-13 8:17 ` [dpdk-dev] [PATCH v8] " Jeff Guo
2020-10-13 10:10 ` Zhang, Qi Z
2020-10-14 12:31 ` Ferruh Yigit [this message]
2020-10-14 14:03 ` Bruce Richardson
2020-10-15 3:40 ` Guo, Jia
2020-10-15 5:26 ` Guo, Jia
2020-10-15 8:33 ` Ferruh Yigit
2020-10-26 9:37 ` Olivier Matz
2020-10-26 11:41 ` Wang, Haiyue
2020-10-15 3:41 ` [dpdk-dev] [PATCH v9] " Jeff Guo
2020-10-27 5:04 ` [dpdk-dev] [PATCH v10] " Jeff Guo
2020-10-27 5:21 ` Wang, Haiyue
2020-10-27 8:27 ` Guo, Jia
2020-10-27 11:55 ` Zhang, Qi Z
2020-10-30 2:54 ` [dpdk-dev] [PATCH v11] " Jeff Guo
2020-10-30 8:34 ` [dpdk-dev] [PATCH v12] " Jeff Guo
2020-10-30 8:40 ` Jeff Guo
2020-10-30 9:35 ` Zhang, Qi Z
2020-10-30 10:51 ` Ferruh Yigit
2020-10-30 11:14 ` Zhang, Qi Z
2020-10-30 16:03 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0257ccb2-88eb-a49a-77f9-9e611f3c266a@intel.com \
--to=ferruh.yigit@intel.com \
--cc=beilei.xing@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=haiyue.wang@intel.com \
--cc=jia.guo@intel.com \
--cc=jingjing.wu@intel.com \
--cc=olivier.matz@6wind.com \
--cc=qi.z.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).