patches for DPDK stable branches
 help / color / mirror / Atom feed
From: "Wang, Haiyue" <haiyue.wang@intel.com>
To: "Xueming(Steven) Li" <xuemingl@nvidia.com>,
	Luca Boccassi <bluca@debian.org>,
	"stable@dpdk.org" <stable@dpdk.org>,
	Kevin Traynor <ktraynor@redhat.com>
Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	"christian.ehrhardt@canonical.com"
	<christian.ehrhardt@canonical.com>,
	"ktraynor@redhat.com" <ktraynor@redhat.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>
Subject: Re: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new VLAN design for Intel ice PMD
Date: Mon, 21 Jun 2021 01:35:47 +0000	[thread overview]
Message-ID: <BN8PR11MB379567B9DBA463A6EDD7548BF70A9@BN8PR11MB3795.namprd11.prod.outlook.com> (raw)
In-Reply-To: <DM4PR12MB5373EBE070D4E5DF33D155D1A10B9@DM4PR12MB5373.namprd12.prod.outlook.com>

> -----Original Message-----
> From: Xueming(Steven) Li <xuemingl@nvidia.com>
> Sent: Sunday, June 20, 2021 21:48
> To: Wang, Haiyue <haiyue.wang@intel.com>; Luca Boccassi <bluca@debian.org>; stable@dpdk.org; Kevin
> Traynor <ktraynor@redhat.com>
> Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>; christian.ehrhardt@canonical.com;
> ktraynor@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>
> Subject: RE: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new VLAN design for Intel ice PMD
> 
> 
> 
> > -----Original Message-----
> > From: Wang, Haiyue <haiyue.wang@intel.com>
> > Sent: Friday, June 18, 2021 9:57 AM
> > To: Xueming(Steven) Li <xuemingl@nvidia.com>; Luca Boccassi <bluca@debian.org>; stable@dpdk.org;
> Kevin Traynor
> > <ktraynor@redhat.com>
> > Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>; christian.ehrhardt@canonical.com;
> ktraynor@redhat.com; Zhang, Qi Z
> > <qi.z.zhang@intel.com>
> > Subject: RE: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new VLAN design for Intel ice PMD
> >
> > > -----Original Message-----
> > > From: Xueming(Steven) Li <xuemingl@nvidia.com>
> > > Sent: Thursday, June 17, 2021 16:53
> > > To: Wang, Haiyue <haiyue.wang@intel.com>; Luca Boccassi
> > > <bluca@debian.org>; stable@dpdk.org; Kevin Traynor
> > > <ktraynor@redhat.com>
> > > Cc: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>;
> > > christian.ehrhardt@canonical.com; ktraynor@redhat.com; Zhang, Qi Z
> > > <qi.z.zhang@intel.com>
> > > Subject: RE: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new
> > > VLAN design for Intel ice PMD
> > >
> > > Hi Haiyue,
> > >
> > > > -----Original Message-----
> > > > From: Wang, Haiyue <haiyue.wang@intel.com>
> > > > Sent: Thursday, June 17, 2021 9:16 AM
> > > > To: Luca Boccassi <bluca@debian.org>; stable@dpdk.org
> > > > Cc: Xueming(Steven) Li <xuemingl@nvidia.com>; NBU-Contact-Thomas
> > > > Monjalon <thomas@monjalon.net>; christian.ehrhardt@canonical.com;
> > > > ktraynor@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>
> > > > Subject: RE: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new
> > > > VLAN design for Intel ice PMD
> > > >
> > > > > -----Original Message-----
> > > > > From: Luca Boccassi <bluca@debian.org>
> > > > > Sent: Wednesday, June 16, 2021 23:47
> > > > > To: Wang, Haiyue <haiyue.wang@intel.com>; stable@dpdk.org
> > > > > Cc: xuemingl@nvidia.com; thomas@monjalon.net;
> > > > > christian.ehrhardt@canonical.com; ktraynor@redhat.com; Zhang, Qi Z
> > > > > <qi.z.zhang@intel.com>
> > > > > Subject: Re: [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new
> > > > > VLAN design for Intel ice PMD
> > > > >
> > > > > On Fri, 2021-06-11 at 15:15 +0800, Haiyue Wang wrote:
> > > > > > When LTS 20.11 was released, the Intel ice PMD has a basic VLAN
> > > > > > offload, which can only handle single VLAN mode for firmware
> > > > > > limitation. Now the firmware is updated to support double VLAN
> > > > > > mode and single VLAN mode at the same time. It depends on the driver to do selection at the
> boot time.
> > > > > >
> > > > > > As VLAN protocol handling like strip, filter, flow is very
> > > > > > common use, we request to support the ice PMD can run on the
> > > > > > latest firmware for enabling the new design. This is compatible backport as the main tree.
> > > > > >
> > > > > > v2: Fix the subject fix with messy code like : PATCHÂ
> > > > > >
> > > > > > Haiyue Wang (4):
> > > > > >   net/ice/base: do not set VLAN mode in DCF mode
> > > > > >   net/ice: fix VLAN strip for double VLAN
> > > > > >   net/ice: fix VLAN 0 adding based on VLAN mode
> > > > > >   net/ice: update QinQ switch filter handling
> > > > > >
> > > > > > Junfeng Guo (1):
> > > > > >   net/ice: enable QinQ filter for switch
> > > > > >
> > > > > > Qi Zhang (12):
> > > > > >   net/ice/base: align add VSI and update VSI AQ command buffer
> > > > > >   net/ice/base: add interface to support configuring VLAN mode
> > > > > >   net/ice/base: fix outer VLAN related macro
> > > > > >   net/ice/base: add VLAN TPID for VLAN filters
> > > > > >   net/ice/base: support checking double VLAN mode
> > > > > >   net/ice/base: support configuring device in double VLAN mode
> > > > > >   net/ice/base: update boost TCAM for DVM
> > > > > >   net/ice/base: change protocol ID for VLAN in DVM
> > > > > >   net/ice/base: refactor post DDP download VLAN mode config
> > > > > >   net/ice/base: log if DDP/FW do not support QinQ
> > > > > >   net/ice/base: add inner VLAN protocol type for QinQ filter
> > > > > >   net/ice/base: fix QinQ PPPoE dummy packet selection
> > > > > >
> > > > > > Yuying Zhang (1):
> > > > > >   net/ice/base: add ethertype offset for QinQ dummy packet
> > > > > >
> > > > > >  drivers/net/ice/base/ice_adminq_cmd.h    | 268 ++++++++-----
> > > > > >  drivers/net/ice/base/ice_bitops.h        |  45 +++
> > > > > >  drivers/net/ice/base/ice_common.c        |  38 ++
> > > > > >  drivers/net/ice/base/ice_common.h        |   4 +
> > > > > >  drivers/net/ice/base/ice_flex_pipe.c     | 302 +++++++++++++--
> > > > > >  drivers/net/ice/base/ice_flex_pipe.h     |  12 +
> > > > > >  drivers/net/ice/base/ice_flex_type.h     |  39 ++
> > > > > >  drivers/net/ice/base/ice_protocol_type.h |   1 +
> > > > > >  drivers/net/ice/base/ice_switch.c        | 124 +++++-
> > > > > >  drivers/net/ice/base/ice_switch.h        |  15 +
> > > > > >  drivers/net/ice/base/ice_type.h          |   4 +
> > > > > >  drivers/net/ice/base/ice_vlan_mode.c     | 451 ++++++++++++++++++++++
> > > > > >  drivers/net/ice/base/ice_vlan_mode.h     |  16 +
> > > > > >  drivers/net/ice/base/meson.build         |   1 +
> > > > > >  drivers/net/ice/ice_ethdev.c             | 455 +++++++++++++----------
> > > > > >  drivers/net/ice/ice_ethdev.h             |  10 +-
> > > > > >  drivers/net/ice/ice_generic_flow.c       |   8 +
> > > > > >  drivers/net/ice/ice_generic_flow.h       |   1 +
> > > > > >  drivers/net/ice/ice_switch_filter.c      | 114 +++++-
> > > > > >  19 files changed, 1545 insertions(+), 363 deletions(-)  create
> > > > > > mode
> > > > > > 100644 drivers/net/ice/base/ice_vlan_mode.c
> > > > > >  create mode 100644 drivers/net/ice/base/ice_vlan_mode.h
> > > > >
> >
> >
> > > > ...
> > >
> > > Kevin happens to updated the documents on new feature backport 4
> > > months ago, thanks for checking them one by one. Luca's only concern
> > > is size of the series, driver vendor is on it's own risk to backport a big patch set.
> > > The series supports new fw and QinQ, is it easy to split?
> >
> > Split the patch ?
> 
> Since the major concern is the scale of the patch set, is it possible to minimize the patch set with
> basic new fw support?
> A small patch set to support new fw is acceptable anyway.
> 

Unfortunately, the hardware is so smart now, the programming is not so
easy, compared with just read/write registers before.;-)

ice driver needs to read the profile to handle the configuration:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/intel/ice/ddp-comms/ice_comms-1.3.20.0.pkg

Also, the AdminQ message is some BIG change to support different VLAN modes.

You can see the core functions (we call it share code, which is some kind of lib for
different platform) is SO BIG enough (not include the PMD VLAN ops itself):

1. [PATCH 20.11 v2 01/18] net/ice/base: align add VSI and update VSI AQ command buffer
   2 files changed, 152 insertions(+), 145 deletions(-)

2. [PATCH 20.11 v2 02/18] net/ice/base: add interface to support configuring VLAN mode
   8 files changed, 153 insertions(+)

3. [PATCH 20.11 v2 05/18] net/ice/base: support checking double VLAN mode
   5 files changed, 221 insertions(+), 2 deletions(-)

4. [PATCH 20.11 v2 06/18] net/ice/base: support configuring device in double VLAN mode
   8 files changed, 381 insertions(+), 46 deletions(-)

5. [PATCH 20.11 v2 08/18] net/ice/base: update boost TCAM for DVM
   5 files changed, 213 insertions(+), 33 deletions(-)

We spent two more development cycle (21.02 and 21.05) to make the VLAN design stable,
so the change is BIG, and it is hard for customers to cherry-pick so many patches for
themself to sync with the LTS release, since some of the patches will needs to rebased.
That's why we want to request the backport.

Also, ice becomes production at 20.11, it is a fresh/new PMD, some design
needs to be enhanced, like VLAN.
https://git.dpdk.org/dpdk/commit/?id=1eba5194e32783f85895d0aa76eefffbb36f7108

For the worst, this patch set only breaks ice PMD VLAN (of course, we test it well. ;-))

> >
> > >
> > > Kevin, is this the first case of feature backport? How do you think?
> > >
> > > >
> > > > > https://doc.dpdk.org/guides/contributing/stable.html#what-changes-
> > > > > shou
> > > > > ld-be-backported
> > > > >
> > > > > --
> > > > > Kind regards,
> > > > > Luca Boccassi

      reply	other threads:[~2021-06-21  1:36 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11  6:58 [PATCH 20.11 v1 " Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 01/18] net/ice/base: align add VSI and update VSI AQ command buffer Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 02/18] net/ice/base: add interface to support configuring VLAN mode Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 03/18] net/ice/base: fix outer VLAN related macro Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 04/18] net/ice/base: add VLAN TPID for VLAN filters Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 05/18] net/ice/base: support checking double VLAN mode Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 06/18] net/ice/base: support configuring device in " Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 07/18] net/ice/base: do not set VLAN mode in DCF mode Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 08/18] net/ice/base: update boost TCAM for DVM Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 09/18] net/ice/base: change protocol ID for VLAN in DVM Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 10/18] net/ice/base: refactor post DDP download VLAN mode config Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 11/18] net/ice/base: log if DDP/FW do not support QinQ Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 12/18] net/ice/base: add ethertype offset for QinQ dummy packet Haiyue Wang
2021-06-11  6:58 ` [PATCH 20.11 v1 13/18] net/ice/base: add inner VLAN protocol type for QinQ filter Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 14/18] net/ice/base: fix QinQ PPPoE dummy packet selection Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 15/18] net/ice: fix VLAN strip for double VLAN Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 16/18] net/ice: fix VLAN 0 adding based on VLAN mode Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 17/18] net/ice: enable QinQ filter for switch Haiyue Wang
2021-06-11  6:58 ` [dpdk-stable] [PATCH 20.11 v1 18/18] net/ice: update QinQ switch filter handling Haiyue Wang
2021-06-11  7:15 ` [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new VLAN design for Intel ice PMD Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 01/18] net/ice/base: align add VSI and update VSI AQ command buffer Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 02/18] net/ice/base: add interface to support configuring VLAN mode Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 03/18] net/ice/base: fix outer VLAN related macro Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 04/18] net/ice/base: add VLAN TPID for VLAN filters Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 05/18] net/ice/base: support checking double VLAN mode Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 06/18] net/ice/base: support configuring device in " Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 07/18] net/ice/base: do not set VLAN mode in DCF mode Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 08/18] net/ice/base: update boost TCAM for DVM Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 09/18] net/ice/base: change protocol ID for VLAN in DVM Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 10/18] net/ice/base: refactor post DDP download VLAN mode config Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 11/18] net/ice/base: log if DDP/FW do not support QinQ Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 12/18] net/ice/base: add ethertype offset for QinQ dummy packet Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 13/18] net/ice/base: add inner VLAN protocol type for QinQ filter Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 14/18] net/ice/base: fix QinQ PPPoE dummy packet selection Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 15/18] net/ice: fix VLAN strip for double VLAN Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 16/18] net/ice: fix VLAN 0 adding based on VLAN mode Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 17/18] net/ice: enable QinQ filter for switch Haiyue Wang
2021-06-11  7:15   ` [dpdk-stable] [PATCH 20.11 v2 18/18] net/ice: update QinQ switch filter handling Haiyue Wang
2021-06-16 15:47   ` [dpdk-stable] [PATCH 20.11 v2 00/18] Backport the new VLAN design for Intel ice PMD Luca Boccassi
2021-06-17  1:16     ` Wang, Haiyue
2021-06-17  8:53       ` Xueming(Steven) Li
2021-06-17 10:04         ` Kevin Traynor
2021-06-18  3:22           ` Wang, Haiyue
2021-06-18 10:12             ` Kevin Traynor
2021-06-18 11:46               ` Wang, Haiyue
2021-06-21  8:28             ` Thomas Monjalon
2021-06-21  8:34               ` Wang, Haiyue
2021-06-21  8:59                 ` Kevin Traynor
2021-06-21 10:28               ` Kevin Traynor
2021-06-22  1:41                 ` Wang, Haiyue
2021-06-18  1:56         ` Wang, Haiyue
2021-06-20 13:47           ` Xueming(Steven) Li
2021-06-21  1:35             ` Wang, Haiyue [this message]

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=BN8PR11MB379567B9DBA463A6EDD7548BF70A9@BN8PR11MB3795.namprd11.prod.outlook.com \
    --to=haiyue.wang@intel.com \
    --cc=bluca@debian.org \
    --cc=christian.ehrhardt@canonical.com \
    --cc=ktraynor@redhat.com \
    --cc=qi.z.zhang@intel.com \
    --cc=stable@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=xuemingl@nvidia.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).