> -----Original Message-----
> From: Liu, KevinX <kevinx....@intel.com>
> Sent: Friday, August 26, 2022 6:15 PM
> To: dev@dpdk.org
> Cc: Yang, Qiming <qiming.y...@intel.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>; Yang, SteveX <stevex.y...@intel.com>; Liu, KevinX
> <kevinx....@intel.com>
> Subject: [PATCH v4] net/ice: refactor proto_ext to remove global variable
>
> The ice has the feature to extract protocol fields into flex descriptor by
> programming per queue. However, the dynamic field for proto_ext are
> allocated by PMD, it is the responsibility of application to reserved the
> field,
> before start DPDK.
>
> Application with parse the offset and proto_ext name to PMD with devargs.
> Remove related private API in 'rte_pmd_ice.h' and 'rte_pmd_ice.h' file.
>
> Signed-off-by: Kevin Liu <kevinx....@intel.com>
>
> ---
> v2: Delete doc content related to 'rte_pmd_ice.h'.
> ---
> v3: Delete doc content related to 'rte_pmd_ice.h'.
> ---
> v4: refine code and change the check mode of dynamic field.
> ---
> doc/api/doxy-api-index.md | 1 -
> doc/api/doxy-api.conf.in | 1 -
> doc/guides/nics/ice.rst | 33 ++--
> drivers/net/ice/ice_ddp_package.c | 1 -
> drivers/net/ice/ice_ethdev.c | 113 ++++++++++----
> drivers/net/ice/ice_ethdev.h | 7 +
> drivers/net/ice/ice_rxtx.c | 45 ++----
> drivers/net/ice/ice_rxtx.h | 1 +
> drivers/net/ice/ice_testpmd.c | 2 +-
> drivers/net/ice/meson.build | 2 -
> drivers/net/ice/rte_pmd_ice.h | 247 ------------------------------
> drivers/net/ice/version.map | 7 -
> 12 files changed, 122 insertions(+), 338 deletions(-) delete mode 100644
> drivers/net/ice/rte_pmd_ice.h
>
> diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md index
> 186a258be4..e578800cea 100644
> --- a/doc/api/doxy-api-index.md
> +++ b/doc/api/doxy-api-index.md
> @@ -44,7 +44,6 @@ The public API headers are grouped by topics:
> [KNI](@ref rte_kni.h),
> [ixgbe](@ref rte_pmd_ixgbe.h),
> [i40e](@ref rte_pmd_i40e.h),
> - [ice](@ref rte_pmd_ice.h),
> [iavf](@ref rte_pmd_iavf.h),
> [ioat](@ref rte_ioat_rawdev.h),
> [bnxt](@ref rte_pmd_bnxt.h),
> diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in index
> 608494a7c0..6fab7436d7 100644
> --- a/doc/api/doxy-api.conf.in
> +++ b/doc/api/doxy-api.conf.in
> @@ -18,7 +18,6 @@ INPUT = @TOPDIR@/doc/api/doxy-api-
> index.md \
> @TOPDIR@/drivers/net/dpaa2 \
> @TOPDIR@/drivers/net/i40e \
> @TOPDIR@/drivers/net/iavf \
> - @TOPDIR@/drivers/net/ice \
> @TOPDIR@/drivers/net/ixgbe \
> @TOPDIR@/drivers/net/mlx5 \
> @TOPDIR@/drivers/net/softnic \ diff --git
> a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst index
> 6b903b9bbc..432c6fd7ed 100644
> --- a/doc/guides/nics/ice.rst
> +++ b/doc/guides/nics/ice.rst
> @@ -110,29 +110,43 @@ Runtime Config Options
>
> The argument format is::
>
> - -a 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
> - -a 18:00.0,proto_xtr=<protocol>
> +
> 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...],field_offs=<offset>,
> \
> + field_name=<name>
> +
> + 18:00.0,proto_xtr=<protocol>,field_offs=<offset>,field_name=<name>
>
> Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
> is used as a range separator and ``,`` is used as a single number
> separator.
> The grouping ``()`` can be omitted for single element group. If no queues
> are
> specified, PMD will use this protocol extraction type for all queues.
> + ``field_offs`` is the offset of mbuf dynamic field for protocol extraction
> data.
> + ``field_name`` is the name of mbuf dynamic field for protocol extraction
> data.
> + ``field_offs`` and ``field_name`` will be checked whether it is
> + valid. If it is invalid the value needs to be reconfigured.
It is not clear here, better just describe when the configure is invalid what
kind of failure will happen