> -----Original Message-----
> From: Zhang, Qi Z <qi.z.zh...@intel.com>
> Sent: 2022年8月30日 10:04
> To: Liu, KevinX <kevinx....@intel.com>; dev@dpdk.org
> Cc: Yang, Qiming <qiming.y...@intel.com>; Yang, SteveX
> <stevex.y...@intel.com>
> Subject: RE: [PATCH v4] net/ice: refactor proto_ext to remove global variable
>
>
>
> > -----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
Ok, I will modify it according to your suggestion. Thanks!