mbox series

[v2,0/4] Change shared action API to action handle API

Message ID 1618063428-206842-1-git-send-email-bingz@nvidia.com (mailing list archive)
Headers show
Series Change shared action API to action handle API | expand

Message

Bing Zhao April 10, 2021, 2:03 p.m. UTC
The patch set includes:
  1. API changes
  2. testpmd adaption and guide update
  3. driver update (only net/mlx5 impacted)

---
v2: add adaptions of testpmd and driver part
---

Bing Zhao (4):
  ethdev: introduce indirect action APIs
  app/test-pmd: change to indirect action command
  doc: update user guide for indirect action
  net/mlx5: adaption to indirect action API

 app/test-pmd/cmdline.c                      |  24 +--
 app/test-pmd/cmdline_flow.c                 | 252 ++++++++++++++--------------
 app/test-pmd/config.c                       | 160 +++++++++---------
 app/test-pmd/testpmd.h                      |  28 ++--
 doc/guides/rel_notes/release_21_05.rst      |   3 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  94 +++++------
 drivers/net/mlx5/mlx5.c                     |   2 +-
 drivers/net/mlx5/mlx5_defs.h                |   4 +-
 drivers/net/mlx5/mlx5_flow.c                | 238 +++++++++++++-------------
 drivers/net/mlx5/mlx5_flow.h                |  24 +--
 drivers/net/mlx5/mlx5_flow_dv.c             |  85 +++++-----
 lib/librte_ethdev/rte_flow.c                |  56 +++----
 lib/librte_ethdev/rte_flow.h                | 118 +++++++------
 lib/librte_ethdev/rte_flow_driver.h         |  26 +--
 lib/librte_ethdev/version.map               |   8 +-
 15 files changed, 574 insertions(+), 548 deletions(-)

Comments

Ferruh Yigit April 12, 2021, 7:40 p.m. UTC | #1
On 4/10/2021 3:03 PM, Bing Zhao wrote:
> The patch set includes:
>    1. API changes
>    2. testpmd adaption and guide update
>    3. driver update (only net/mlx5 impacted)
> 
> ---
> v2: add adaptions of testpmd and driver part
> ---
> 
> Bing Zhao (4):
>    ethdev: introduce indirect action APIs
>    app/test-pmd: change to indirect action command
>    doc: update user guide for indirect action
>    net/mlx5: adaption to indirect action API
> 

Hi Bing,

How the patchset constructed will cause build error in patch by patch build, 
since first patch removes some struct/functions that are in use.

One way to handle this is:
- first add new function/structs
- switch app & pmd to new function/structs
- remove old function/structs


And another issue is this support has been added on 20.11, and we are changing 
it in the second release after it.
Of course it is OK to change the API by time, that is why we have experimental 
APIs, but the concern is if the development is driven by single vendor without a 
consensus or enough reviews, and my worry is if same thing happening again.

The author and reviewers of the original patch is already cc'ed, I think it 
would be good to have their ack to the change.

Thanks,
ferruh
Bing Zhao April 13, 2021, 1:22 a.m. UTC | #2
Hi Ferruh,

Thanks for your comments.

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, April 13, 2021 3:40 AM
> To: Bing Zhao <bingz@nvidia.com>; Ori Kam <orika@nvidia.com>; NBU-
> Contact-Thomas Monjalon <thomas@monjalon.net>;
> andrew.rybchenko@oktetlabs.ru; Matan Azrad <matan@nvidia.com>; Slava
> Ovsiienko <viacheslavo@nvidia.com>
> Cc: dev@dpdk.org; ajit.khaparde@broadcom.com; Gregory Etelson
> <getelson@nvidia.com>; Andrey Vesnovaty <andreyv@nvidia.com>
> Subject: Re: [PATCH v2 0/4] Change shared action API to action
> handle API
> 
> External email: Use caution opening links or attachments
> 
> 
> On 4/10/2021 3:03 PM, Bing Zhao wrote:
> > The patch set includes:
> >    1. API changes
> >    2. testpmd adaption and guide update
> >    3. driver update (only net/mlx5 impacted)
> >
> > ---
> > v2: add adaptions of testpmd and driver part
> > ---
> >
> > Bing Zhao (4):
> >    ethdev: introduce indirect action APIs
> >    app/test-pmd: change to indirect action command
> >    doc: update user guide for indirect action
> >    net/mlx5: adaption to indirect action API
> >
> 
> Hi Bing,
> 
> How the patchset constructed will cause build error in patch by
> patch build, since first patch removes some struct/functions that
> are in use.
> 
> One way to handle this is:
> - first add new function/structs
> - switch app & pmd to new function/structs
> - remove old function/structs
> 

Sure, I will reorganize the patch set in this way. Thanks for this.

> 
> And another issue is this support has been added on 20.11, and we
> are changing it in the second release after it.
> Of course it is OK to change the API by time, that is why we have
> experimental APIs, but the concern is if the development is driven
> by single vendor without a consensus or enough reviews, and my worry
> is if same thing happening again.

The change itself is not big, most of them are the naming convention. The most important change is one input parameter of the "update" interface.
Yes, I agree with your concern. Are there any other reviewers suggested for this change? (I got the name list from the script)
It would be very helpful if they could give some comments or some suggestions.

> 
> The author and reviewers of the original patch is already cc'ed, I
> think it would be good to have their ack to the change.

Yes, I will ping them.

> 
> Thanks,
> ferruh
Thomas Monjalon April 13, 2021, 7:23 a.m. UTC | #3
13/04/2021 03:22, Bing Zhao:
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> > > Bing Zhao (4):
> > >    ethdev: introduce indirect action APIs
> > >    app/test-pmd: change to indirect action command
> > >    doc: update user guide for indirect action
> > >    net/mlx5: adaption to indirect action API
> > >
> > 
> > Hi Bing,
> > 
> > How the patchset constructed will cause build error in patch by
> > patch build, since first patch removes some struct/functions that
> > are in use.
> > 
> > One way to handle this is:
> > - first add new function/structs
> > - switch app & pmd to new function/structs
> > - remove old function/structs
> 
> Sure, I will reorganize the patch set in this way. Thanks for this.

This is a drop-in replacement, it should be done in one patch only.
Bing Zhao April 13, 2021, 7:24 a.m. UTC | #4
Thanks, I will squash the commits.

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, April 13, 2021 3:24 PM
> To: Ferruh Yigit <ferruh.yigit@intel.com>; Bing Zhao
> <bingz@nvidia.com>
> Cc: Ori Kam <orika@nvidia.com>; andrew.rybchenko@oktetlabs.ru; Matan
> Azrad <matan@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>;
> dev@dpdk.org; ajit.khaparde@broadcom.com; Gregory Etelson
> <getelson@nvidia.com>; Andrey Vesnovaty <andreyv@nvidia.com>
> Subject: Re: [dpdk-dev] [PATCH v2 0/4] Change shared action API to
> action handle API
> 
> External email: Use caution opening links or attachments
> 
> 
> 13/04/2021 03:22, Bing Zhao:
> > From: Ferruh Yigit <ferruh.yigit@intel.com>
> > > > Bing Zhao (4):
> > > >    ethdev: introduce indirect action APIs
> > > >    app/test-pmd: change to indirect action command
> > > >    doc: update user guide for indirect action
> > > >    net/mlx5: adaption to indirect action API
> > > >
> > >
> > > Hi Bing,
> > >
> > > How the patchset constructed will cause build error in patch by
> > > patch build, since first patch removes some struct/functions
> that
> > > are in use.
> > >
> > > One way to handle this is:
> > > - first add new function/structs
> > > - switch app & pmd to new function/structs
> > > - remove old function/structs
> >
> > Sure, I will reorganize the patch set in this way. Thanks for this.
> 
> This is a drop-in replacement, it should be done in one patch only.
> 
>