get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/87710/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 87710,
    "url": "http://patchwork.dpdk.org/api/patches/87710/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20210204020333.6432-1-haiyue.wang@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210204020333.6432-1-haiyue.wang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210204020333.6432-1-haiyue.wang@intel.com",
    "date": "2021-02-04T02:03:33",
    "name": "[v2] net/ice: fix VLAN strip show in double VLAN mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "997cae54585e41113945a3c34c89e5c5d4660bfa",
    "submitter": {
        "id": 1044,
        "url": "http://patchwork.dpdk.org/api/people/1044/?format=api",
        "name": "Wang, Haiyue",
        "email": "haiyue.wang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patchwork.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20210204020333.6432-1-haiyue.wang@intel.com/mbox/",
    "series": [
        {
            "id": 15140,
            "url": "http://patchwork.dpdk.org/api/series/15140/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=15140",
            "date": "2021-02-04T02:03:33",
            "name": "[v2] net/ice: fix VLAN strip show in double VLAN mode",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/15140/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/87710/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/87710/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 19791A0A0E;\n\tThu,  4 Feb 2021 03:20:14 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 99EAE2404E7;\n\tThu,  4 Feb 2021 03:20:13 +0100 (CET)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 6F1652404CF\n for <dev@dpdk.org>; Thu,  4 Feb 2021 03:20:11 +0100 (CET)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 03 Feb 2021 18:20:06 -0800",
            "from npg-dpdk-haiyue-1.sh.intel.com ([10.67.118.220])\n by orsmga001.jf.intel.com with ESMTP; 03 Feb 2021 18:20:04 -0800"
        ],
        "IronPort-SDR": [
            "\n VCfqIUGRQZwl2NAjuBRbhy9oFGLEAazwd8nIBig+eAJKDt6S+Y1UegbIlB/79GICXROP2dhG1x\n WLKkfhRxzLlg==",
            "\n 6keUitb9OF7QB8HlCC8iS4v3MAZaYBf3u0l0yhYLiRgItxEWam6u5TAZJqebCMUQsCJETdskGt\n EuMdUm9IQmMg=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9884\"; a=\"242665690\"",
            "E=Sophos;i=\"5.79,399,1602572400\"; d=\"scan'208\";a=\"242665690\"",
            "E=Sophos;i=\"5.79,399,1602572400\"; d=\"scan'208\";a=\"433719315\""
        ],
        "X-ExtLoop1": "1",
        "From": "Haiyue Wang <haiyue.wang@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "qiming.yang@intel.com, qi.z.zhang@intel.com,\n Haiyue Wang <haiyue.wang@intel.com>,\n Brett Creeley <brett.creeley@intel.com>",
        "Date": "Thu,  4 Feb 2021 10:03:33 +0800",
        "Message-Id": "<20210204020333.6432-1-haiyue.wang@intel.com>",
        "X-Mailer": "git-send-email 2.30.0",
        "In-Reply-To": "<20210203140303.65761-1-haiyue.wang@intel.com>",
        "References": "<20210203140303.65761-1-haiyue.wang@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2] net/ice: fix VLAN strip show in double VLAN\n mode",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "In double VLAN mode, the VLAN strip is applied on outer, since the VLAN\nfilter is outer; in single VLAN mode, the VLAN strip is applied on inner\nfor the VLAN filter is inner.\n\nSo it needs to adjust the strip setting according to current VLAN mode.\n\nFixes: 14e7a4b37b4f (\"net/ice/base: support configuring device in double VLAN mode\")\n\nSigned-off-by: Haiyue Wang <haiyue.wang@intel.com>\n---\nv2: Add the missed fix tag, and update the commit message.\n---\n drivers/net/ice/ice_ethdev.c | 297 +++++++++++++++--------------------\n 1 file changed, 131 insertions(+), 166 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c\nindex 02a25e8d2a..cb2c0cf449 100644\n--- a/drivers/net/ice/ice_ethdev.c\n+++ b/drivers/net/ice/ice_ethdev.c\n@@ -68,8 +68,6 @@ static struct proto_xtr_ol_flag ice_proto_xtr_ol_flag_params[] = {\n \t\t.ol_flag = &rte_net_ice_dynflag_proto_xtr_ip_offset_mask },\n };\n \n-#define ICE_DFLT_OUTER_TAG_TYPE ICE_AQ_VSI_OUTER_TAG_VLAN_9100\n-\n #define ICE_OS_DEFAULT_PKG_NAME\t\t\"ICE OS Default Package\"\n #define ICE_COMMS_PKG_NAME\t\t\t\"ICE COMMS Package\"\n #define ICE_MAX_RES_DESC_NUM        1024\n@@ -1122,127 +1120,6 @@ ice_remove_all_mac_vlan_filters(struct ice_vsi *vsi)\n \treturn ret;\n }\n \n-static int\n-ice_vsi_config_qinq_insertion(struct ice_vsi *vsi, bool on)\n-{\n-\tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n-\tstruct ice_vsi_ctx ctxt;\n-\tuint8_t qinq_flags;\n-\tint ret = 0;\n-\n-\t/* Check if it has been already on or off */\n-\tif (vsi->info.valid_sections &\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID)) {\n-\t\tif (on) {\n-\t\t\tif ((vsi->info.outer_vlan_flags &\n-\t\t\t     ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_ACCEPT_HOST) ==\n-\t\t\t    ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_ACCEPT_HOST)\n-\t\t\t\treturn 0; /* already on */\n-\t\t} else {\n-\t\t\tif (!(vsi->info.outer_vlan_flags &\n-\t\t\t      ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_ACCEPT_HOST))\n-\t\t\t\treturn 0; /* already off */\n-\t\t}\n-\t}\n-\n-\tif (on)\n-\t\tqinq_flags = ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_ACCEPT_HOST;\n-\telse\n-\t\tqinq_flags = 0;\n-\t/* clear global insertion and use per packet insertion */\n-\tvsi->info.outer_vlan_flags &= ~(ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_INSERT);\n-\tvsi->info.outer_vlan_flags &= ~(ICE_AQ_VSI_OUTER_VLAN_PORT_BASED_ACCEPT_HOST);\n-\tvsi->info.outer_vlan_flags |= qinq_flags;\n-\t/* use default vlan type 0x8100 */\n-\tvsi->info.outer_vlan_flags &= ~(ICE_AQ_VSI_OUTER_TAG_TYPE_M);\n-\tvsi->info.outer_vlan_flags |= ICE_DFLT_OUTER_TAG_TYPE <<\n-\t\t\t\t     ICE_AQ_VSI_OUTER_TAG_TYPE_S;\n-\t(void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info));\n-\tctxt.info.valid_sections =\n-\t\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n-\tctxt.vsi_num = vsi->vsi_id;\n-\tret = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n-\tif (ret) {\n-\t\tPMD_DRV_LOG(INFO,\n-\t\t\t    \"Update VSI failed to %s qinq stripping\",\n-\t\t\t    on ? \"enable\" : \"disable\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tvsi->info.valid_sections |=\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n-\n-\treturn ret;\n-}\n-\n-static int\n-ice_vsi_config_qinq_stripping(struct ice_vsi *vsi, bool on)\n-{\n-\tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n-\tstruct ice_vsi_ctx ctxt;\n-\tuint8_t qinq_flags;\n-\tint ret = 0;\n-\n-\t/* Check if it has been already on or off */\n-\tif (vsi->info.valid_sections &\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID)) {\n-\t\tif (on) {\n-\t\t\tif ((vsi->info.outer_vlan_flags &\n-\t\t\t     ICE_AQ_VSI_OUTER_VLAN_EMODE_M) ==\n-\t\t\t    ICE_AQ_VSI_OUTER_VLAN_EMODE_SHOW)\n-\t\t\t\treturn 0; /* already on */\n-\t\t} else {\n-\t\t\tif ((vsi->info.outer_vlan_flags &\n-\t\t\t     ICE_AQ_VSI_OUTER_VLAN_EMODE_M) ==\n-\t\t\t    ICE_AQ_VSI_OUTER_VLAN_EMODE_SHOW_BOTH)\n-\t\t\t\treturn 0; /* already off */\n-\t\t}\n-\t}\n-\n-\tif (on)\n-\t\tqinq_flags = ICE_AQ_VSI_OUTER_VLAN_EMODE_SHOW;\n-\telse\n-\t\tqinq_flags = ICE_AQ_VSI_OUTER_VLAN_EMODE_SHOW_BOTH;\n-\tvsi->info.outer_vlan_flags &= ~(ICE_AQ_VSI_OUTER_VLAN_EMODE_M);\n-\tvsi->info.outer_vlan_flags |= qinq_flags;\n-\t/* use default vlan type 0x8100 */\n-\tvsi->info.outer_vlan_flags &= ~(ICE_AQ_VSI_OUTER_TAG_TYPE_M);\n-\tvsi->info.outer_vlan_flags |= ICE_DFLT_OUTER_TAG_TYPE <<\n-\t\t\t\t     ICE_AQ_VSI_OUTER_TAG_TYPE_S;\n-\t(void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info));\n-\tctxt.info.valid_sections =\n-\t\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n-\tctxt.vsi_num = vsi->vsi_id;\n-\tret = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n-\tif (ret) {\n-\t\tPMD_DRV_LOG(INFO,\n-\t\t\t    \"Update VSI failed to %s qinq stripping\",\n-\t\t\t    on ? \"enable\" : \"disable\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tvsi->info.valid_sections |=\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n-\n-\treturn ret;\n-}\n-\n-static int\n-ice_vsi_config_double_vlan(struct ice_vsi *vsi, int on)\n-{\n-\tint ret;\n-\n-\tret = ice_vsi_config_qinq_stripping(vsi, on);\n-\tif (ret)\n-\t\tPMD_DRV_LOG(ERR, \"Fail to set qinq stripping - %d\", ret);\n-\n-\tret = ice_vsi_config_qinq_insertion(vsi, on);\n-\tif (ret)\n-\t\tPMD_DRV_LOG(ERR, \"Fail to set qinq insertion - %d\", ret);\n-\n-\treturn ret;\n-}\n-\n /* Enable IRQ0 */\n static void\n ice_pf_enable_irq0(struct ice_hw *hw)\n@@ -2220,9 +2097,6 @@ ice_dev_init(struct rte_eth_dev *dev)\n \n \tvsi = pf->main_vsi;\n \n-\t/* Disable double vlan by default */\n-\tice_vsi_config_double_vlan(vsi, false);\n-\n \tret = ice_aq_stop_lldp(hw, true, false, NULL);\n \tif (ret != ICE_SUCCESS)\n \t\tPMD_INIT_LOG(DEBUG, \"lldp has already stopped\\n\");\n@@ -4086,49 +3960,147 @@ ice_vsi_config_vlan_filter(struct ice_vsi *vsi, bool on)\n \treturn 0;\n }\n \n+/* Manage VLAN stripping for the VSI for Rx */\n static int\n-ice_vsi_config_vlan_stripping(struct ice_vsi *vsi, bool on)\n+ice_vsi_manage_vlan_stripping(struct ice_vsi *vsi, bool ena)\n {\n \tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n \tstruct ice_vsi_ctx ctxt;\n-\tuint8_t vlan_flags;\n-\tint ret = 0;\n+\tenum ice_status status;\n+\tint err = 0;\n \n-\t/* Check if it has been already on or off */\n-\tif (vsi->info.valid_sections &\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_VLAN_VALID)) {\n-\t\tif (on) {\n-\t\t\tif ((vsi->info.inner_vlan_flags &\n-\t\t\t     ICE_AQ_VSI_INNER_VLAN_EMODE_M) ==\n-\t\t\t    ICE_AQ_VSI_INNER_VLAN_EMODE_STR_BOTH)\n-\t\t\t\treturn 0; /* already on */\n-\t\t} else {\n-\t\t\tif ((vsi->info.inner_vlan_flags &\n-\t\t\t     ICE_AQ_VSI_INNER_VLAN_EMODE_M) ==\n-\t\t\t    ICE_AQ_VSI_INNER_VLAN_EMODE_NOTHING)\n-\t\t\t\treturn 0; /* already off */\n-\t\t}\n-\t}\n+\t/* do not allow modifying VLAN stripping when a port VLAN is configured\n+\t * on this VSI\n+\t */\n+\tif (vsi->info.port_based_inner_vlan)\n+\t\treturn 0;\n \n-\tif (on)\n-\t\tvlan_flags = ICE_AQ_VSI_INNER_VLAN_EMODE_STR_BOTH;\n+\tmemset(&ctxt, 0, sizeof(ctxt));\n+\n+\tif (ena)\n+\t\t/* Strip VLAN tag from Rx packet and put it in the desc */\n+\t\tctxt.info.inner_vlan_flags =\n+\t\t\t\t\tICE_AQ_VSI_INNER_VLAN_EMODE_STR_BOTH;\n \telse\n-\t\tvlan_flags = ICE_AQ_VSI_INNER_VLAN_EMODE_NOTHING;\n-\tvsi->info.inner_vlan_flags &= ~(ICE_AQ_VSI_INNER_VLAN_EMODE_M);\n-\tvsi->info.inner_vlan_flags |= vlan_flags;\n-\t(void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info));\n+\t\t/* Disable stripping. Leave tag in packet */\n+\t\tctxt.info.inner_vlan_flags =\n+\t\t\t\t\tICE_AQ_VSI_INNER_VLAN_EMODE_NOTHING;\n+\n+\t/* Allow all packets untagged/tagged */\n+\tctxt.info.inner_vlan_flags |= ICE_AQ_VSI_INNER_VLAN_TX_MODE_ALL;\n+\n+\tctxt.info.valid_sections = rte_cpu_to_le_16(ICE_AQ_VSI_PROP_VLAN_VALID);\n+\n+\tstatus = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n+\tif (status) {\n+\t\tPMD_DRV_LOG(ERR, \"Update VSI failed to %s vlan stripping\",\n+\t\t\t    ena ? \"enable\" : \"disable\");\n+\t\terr = -EIO;\n+\t} else {\n+\t\tvsi->info.inner_vlan_flags = ctxt.info.inner_vlan_flags;\n+\t}\n+\n+\treturn err;\n+}\n+\n+static int\n+ice_vsi_ena_inner_stripping(struct ice_vsi *vsi)\n+{\n+\treturn ice_vsi_manage_vlan_stripping(vsi, true);\n+}\n+\n+static int\n+ice_vsi_dis_inner_stripping(struct ice_vsi *vsi)\n+{\n+\treturn ice_vsi_manage_vlan_stripping(vsi, false);\n+}\n+\n+static int ice_vsi_ena_outer_stripping(struct ice_vsi *vsi)\n+{\n+\tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n+\tstruct ice_vsi_ctx ctxt;\n+\tenum ice_status status;\n+\tint err = 0;\n+\n+\t/* do not allow modifying VLAN stripping when a port VLAN is configured\n+\t * on this VSI\n+\t */\n+\tif (vsi->info.port_based_outer_vlan)\n+\t\treturn 0;\n+\n+\tmemset(&ctxt, 0, sizeof(ctxt));\n+\n \tctxt.info.valid_sections =\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_VLAN_VALID);\n-\tctxt.vsi_num = vsi->vsi_id;\n-\tret = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n-\tif (ret) {\n-\t\tPMD_DRV_LOG(INFO, \"Update VSI failed to %s vlan stripping\",\n-\t\t\t    on ? \"enable\" : \"disable\");\n-\t\treturn -EINVAL;\n+\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n+\t/* clear current outer VLAN strip settings */\n+\tctxt.info.outer_vlan_flags = vsi->info.outer_vlan_flags &\n+\t\t~(ICE_AQ_VSI_OUTER_VLAN_EMODE_M | ICE_AQ_VSI_OUTER_TAG_TYPE_M);\n+\tctxt.info.outer_vlan_flags |=\n+\t\t(ICE_AQ_VSI_OUTER_VLAN_EMODE_SHOW_BOTH <<\n+\t\t ICE_AQ_VSI_OUTER_VLAN_EMODE_S) |\n+\t\t(ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<\n+\t\t ICE_AQ_VSI_OUTER_TAG_TYPE_S);\n+\n+\tstatus = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n+\tif (status) {\n+\t\tPMD_DRV_LOG(ERR, \"Update VSI failed to enable outer VLAN stripping\");\n+\t\terr = -EIO;\n+\t} else {\n+\t\tvsi->info.outer_vlan_flags = ctxt.info.outer_vlan_flags;\n \t}\n \n-\tvsi->info.valid_sections |=\n-\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_VLAN_VALID);\n+\treturn err;\n+}\n+\n+static int\n+ice_vsi_dis_outer_stripping(struct ice_vsi *vsi)\n+{\n+\tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n+\tstruct ice_vsi_ctx ctxt;\n+\tenum ice_status status;\n+\tint err = 0;\n+\n+\tif (vsi->info.port_based_outer_vlan)\n+\t\treturn 0;\n+\n+\tmemset(&ctxt, 0, sizeof(ctxt));\n+\n+\tctxt.info.valid_sections =\n+\t\trte_cpu_to_le_16(ICE_AQ_VSI_PROP_OUTER_TAG_VALID);\n+\t/* clear current outer VLAN strip settings */\n+\tctxt.info.outer_vlan_flags = vsi->info.outer_vlan_flags &\n+\t\t~ICE_AQ_VSI_OUTER_VLAN_EMODE_M;\n+\tctxt.info.outer_vlan_flags |= ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING <<\n+\t\tICE_AQ_VSI_OUTER_VLAN_EMODE_S;\n+\n+\tstatus = ice_update_vsi(hw, vsi->idx, &ctxt, NULL);\n+\tif (status) {\n+\t\tPMD_DRV_LOG(ERR, \"Update VSI failed to disable outer VLAN stripping\");\n+\t\terr = -EIO;\n+\t} else {\n+\t\tvsi->info.outer_vlan_flags = ctxt.info.outer_vlan_flags;\n+\t}\n+\n+\treturn err;\n+}\n+\n+static int\n+ice_vsi_config_vlan_stripping(struct ice_vsi *vsi, bool ena)\n+{\n+\tstruct ice_hw *hw = ICE_VSI_TO_HW(vsi);\n+\tint ret;\n+\n+\tif (ice_is_dvm_ena(hw)) {\n+\t\tif (ena)\n+\t\t\tret = ice_vsi_ena_outer_stripping(vsi);\n+\t\telse\n+\t\t\tret = ice_vsi_dis_outer_stripping(vsi);\n+\t} else {\n+\t\tif (ena)\n+\t\t\tret = ice_vsi_ena_inner_stripping(vsi);\n+\t\telse\n+\t\t\tret = ice_vsi_dis_inner_stripping(vsi);\n+\t}\n \n \treturn ret;\n }\n@@ -4155,13 +4127,6 @@ ice_vlan_offload_set(struct rte_eth_dev *dev, int mask)\n \t\t\tice_vsi_config_vlan_stripping(vsi, false);\n \t}\n \n-\tif (mask & ETH_VLAN_EXTEND_MASK) {\n-\t\tif (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_EXTEND)\n-\t\t\tice_vsi_config_double_vlan(vsi, true);\n-\t\telse\n-\t\t\tice_vsi_config_double_vlan(vsi, false);\n-\t}\n-\n \treturn 0;\n }\n \n",
    "prefixes": [
        "v2"
    ]
}