net/ice: promote dynflag API

Message ID 20220414062510.207983-1-peng1x.zhang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series net/ice: promote dynflag API |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/intel-Testing success Testing PASS

Commit Message

Zhang, Peng1X April 14, 2022, 6:25 a.m. UTC
  From: Peng Zhang <peng1x.zhang@intel.com>

Promote dynflag APIs to be stable.

Signed-off-by: Peng Zhang <peng1x.zhang@intel.com>
---
 drivers/net/ice/rte_pmd_ice.h |  1 -
 drivers/net/ice/version.map   | 15 +++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)
  

Comments

Ray Kinsella April 19, 2022, 3:55 p.m. UTC | #1
peng1x.zhang@intel.com writes:

> From: Peng Zhang <peng1x.zhang@intel.com>
>
> Promote dynflag APIs to be stable.
>
> Signed-off-by: Peng Zhang <peng1x.zhang@intel.com>
> ---
>  drivers/net/ice/rte_pmd_ice.h |  1 -
>  drivers/net/ice/version.map   | 15 +++++++++------
>  2 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ice/rte_pmd_ice.h b/drivers/net/ice/rte_pmd_ice.h
> index 9a436a140b..13604bf9e2 100644
> --- a/drivers/net/ice/rte_pmd_ice.h
> +++ b/drivers/net/ice/rte_pmd_ice.h
> @@ -149,7 +149,6 @@ extern uint64_t rte_net_ice_dynflag_proto_xtr_ip_offset_mask;
>   * @return
>   *   True if registered, false otherwise.
>   */
> -__rte_experimental
>  static __rte_always_inline int
>  rte_net_ice_dynf_proto_xtr_metadata_avail(void)
>  {
> diff --git a/drivers/net/ice/version.map b/drivers/net/ice/version.map
> index cc837f1c00..4cbe33a40d 100644
> --- a/drivers/net/ice/version.map
> +++ b/drivers/net/ice/version.map
> @@ -1,16 +1,19 @@
>  DPDK_22 {
> -	local: *;
> -};
> +        global:
>  
> -EXPERIMENTAL {
> -	global:
> -
> -	# added in 19.11
>  	rte_net_ice_dynfield_proto_xtr_metadata_offs;
>  	rte_net_ice_dynflag_proto_xtr_vlan_mask;
>  	rte_net_ice_dynflag_proto_xtr_ipv4_mask;
>  	rte_net_ice_dynflag_proto_xtr_ipv6_mask;
>  	rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask;
>  	rte_net_ice_dynflag_proto_xtr_tcp_mask;

Folks, these are all exported variables, we should be removing these not
promoting these to stable. After looking at them closely, can't we just
make them local, do they need to be exported at all?
  
Qi Zhang April 20, 2022, 1:42 p.m. UTC | #2
> -----Original Message-----
> From: Ray Kinsella <mdr@ashroe.eu>
> Sent: Tuesday, April 19, 2022 11:56 PM
> To: Zhang, Peng1X <peng1x.zhang@intel.com>
> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>
> Subject: Re: [PATCH] net/ice: promote dynflag API
> 
> 
> peng1x.zhang@intel.com writes:
> 
> > From: Peng Zhang <peng1x.zhang@intel.com>
> >
> > Promote dynflag APIs to be stable.
> >
> > Signed-off-by: Peng Zhang <peng1x.zhang@intel.com>
> > ---
> >  drivers/net/ice/rte_pmd_ice.h |  1 -
> >  drivers/net/ice/version.map   | 15 +++++++++------
> >  2 files changed, 9 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/net/ice/rte_pmd_ice.h
> > b/drivers/net/ice/rte_pmd_ice.h index 9a436a140b..13604bf9e2 100644
> > --- a/drivers/net/ice/rte_pmd_ice.h
> > +++ b/drivers/net/ice/rte_pmd_ice.h
> > @@ -149,7 +149,6 @@ extern uint64_t
> rte_net_ice_dynflag_proto_xtr_ip_offset_mask;
> >   * @return
> >   *   True if registered, false otherwise.
> >   */
> > -__rte_experimental
> >  static __rte_always_inline int
> >  rte_net_ice_dynf_proto_xtr_metadata_avail(void)
> >  {
> > diff --git a/drivers/net/ice/version.map b/drivers/net/ice/version.map
> > index cc837f1c00..4cbe33a40d 100644
> > --- a/drivers/net/ice/version.map
> > +++ b/drivers/net/ice/version.map
> > @@ -1,16 +1,19 @@
> >  DPDK_22 {
> > -	local: *;
> > -};
> > +        global:
> >
> > -EXPERIMENTAL {
> > -	global:
> > -
> > -	# added in 19.11
> >  	rte_net_ice_dynfield_proto_xtr_metadata_offs;
> >  	rte_net_ice_dynflag_proto_xtr_vlan_mask;
> >  	rte_net_ice_dynflag_proto_xtr_ipv4_mask;
> >  	rte_net_ice_dynflag_proto_xtr_ipv6_mask;
> >  	rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask;
> >  	rte_net_ice_dynflag_proto_xtr_tcp_mask;
> 
> Folks, these are all exported variables, we should be removing these not
> promoting these to stable. After looking at them closely, can't we just make
> them local, do they need to be exported at all?


These are help API we exposed to the application, they should be used paired with devargs "proto_xtr".
Basically, the application use proto_xtr to offload specific metadata to a customized mbuf, 
The driver uses dynamic mbuf API to register the field and store the mbuf offset to the above global variables, then the application uses them to access specific metadata.

So I think they are not local.



> 
> --
> Regards, Ray K
  

Patch

diff --git a/drivers/net/ice/rte_pmd_ice.h b/drivers/net/ice/rte_pmd_ice.h
index 9a436a140b..13604bf9e2 100644
--- a/drivers/net/ice/rte_pmd_ice.h
+++ b/drivers/net/ice/rte_pmd_ice.h
@@ -149,7 +149,6 @@  extern uint64_t rte_net_ice_dynflag_proto_xtr_ip_offset_mask;
  * @return
  *   True if registered, false otherwise.
  */
-__rte_experimental
 static __rte_always_inline int
 rte_net_ice_dynf_proto_xtr_metadata_avail(void)
 {
diff --git a/drivers/net/ice/version.map b/drivers/net/ice/version.map
index cc837f1c00..4cbe33a40d 100644
--- a/drivers/net/ice/version.map
+++ b/drivers/net/ice/version.map
@@ -1,16 +1,19 @@ 
 DPDK_22 {
-	local: *;
-};
+        global:
 
-EXPERIMENTAL {
-	global:
-
-	# added in 19.11
 	rte_net_ice_dynfield_proto_xtr_metadata_offs;
 	rte_net_ice_dynflag_proto_xtr_vlan_mask;
 	rte_net_ice_dynflag_proto_xtr_ipv4_mask;
 	rte_net_ice_dynflag_proto_xtr_ipv6_mask;
 	rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask;
 	rte_net_ice_dynflag_proto_xtr_tcp_mask;
+
+	local: *;
+};
+
+EXPERIMENTAL {
+	global:
+
+	# added in 19.11
 	rte_net_ice_dynflag_proto_xtr_ip_offset_mask;
 };