From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5C851A0C40 for ; Fri, 11 Jun 2021 09:19:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FD164014F; Fri, 11 Jun 2021 09:19:55 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 09EA44014F for ; Fri, 11 Jun 2021 09:19:53 +0200 (CEST) IronPort-SDR: /KpTZzx3Ssqk5MUvWBSvLaUoP3twjDx6n2YyIhY8QalgmqI6q/sWnJ3p4Lm0sLd8YxEZ6Wqauq c5QXWiJ2Hkyg== X-IronPort-AV: E=McAfee;i="6200,9189,10011"; a="291108112" X-IronPort-AV: E=Sophos;i="5.83,265,1616482800"; d="scan'208";a="291108112" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2021 00:19:51 -0700 IronPort-SDR: QCuqSubhbLcOoeJIoLrprn4DqAwJYPRS86qZo2DZIzrIaGRIhm0mvwaf449U7Si2VB/euDIebL wo+Dp1h3YJ5A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,265,1616482800"; d="scan'208";a="553333081" Received: from npg-dpdk-haiyue-1.sh.intel.com ([10.67.118.197]) by fmsmga001.fm.intel.com with ESMTP; 11 Jun 2021 00:19:49 -0700 From: Haiyue Wang To: stable@dpdk.org Cc: bluca@debian.org, xuemingl@nvidia.com, thomas@monjalon.net, christian.ehrhardt@canonical.com, ktraynor@redhat.com, qi.z.zhang@intel.com, Haiyue Wang Subject: [PATCH 20.11 v1 00/18] Backport the new VLAN design for Intel ice PMD Date: Fri, 11 Jun 2021 14:58:07 +0800 Message-Id: <20210611065825.47678-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" 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. 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 -- 2.32.0