get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 66422,
    "url": "http://patches.dpdk.org/api/patches/66422/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200309114357.31800-6-qi.z.zhang@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.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": "<20200309114357.31800-6-qi.z.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200309114357.31800-6-qi.z.zhang@intel.com",
    "date": "2020-03-09T11:43:34",
    "name": "[05/28] net/ice/base: allow VLAN and ethertype filter for port",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a9a796c905bec4cdf3affa5f9539779ff7a1a751",
    "submitter": {
        "id": 504,
        "url": "http://patches.dpdk.org/api/people/504/?format=api",
        "name": "Qi Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "delegate": {
        "id": 31221,
        "url": "http://patches.dpdk.org/api/users/31221/?format=api",
        "username": "yexl",
        "first_name": "xiaolong",
        "last_name": "ye",
        "email": "xiaolong.ye@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200309114357.31800-6-qi.z.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 8843,
            "url": "http://patches.dpdk.org/api/series/8843/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8843",
            "date": "2020-03-09T11:43:29",
            "name": "update ice base code",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8843/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/66422/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/66422/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 16648A052E;\n\tMon,  9 Mar 2020 12:41:22 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 061E51BFFA;\n\tMon,  9 Mar 2020 12:40:44 +0100 (CET)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n by dpdk.org (Postfix) with ESMTP id 7D51B1C07F\n for <dev@dpdk.org>; Mon,  9 Mar 2020 12:40:41 +0100 (CET)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 09 Mar 2020 04:40:41 -0700",
            "from dpdk51.sh.intel.com ([10.67.110.245])\n by fmsmga002.fm.intel.com with ESMTP; 09 Mar 2020 04:40:39 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.70,533,1574150400\"; d=\"scan'208\";a=\"276483519\"",
        "From": "Qi Zhang <qi.z.zhang@intel.com>",
        "To": "qiming.yang@intel.com,\n\tbeilei.xing@intel.com",
        "Cc": "xiaolong.ye@intel.com, dev@dpdk.org, Qi Zhang <qi.z.zhang@intel.com>,\n Michal Swiatkowski <michal.swiatkowski@intel.com>,\n Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>",
        "Date": "Mon,  9 Mar 2020 19:43:34 +0800",
        "Message-Id": "<20200309114357.31800-6-qi.z.zhang@intel.com>",
        "X-Mailer": "git-send-email 2.13.6",
        "In-Reply-To": "<20200309114357.31800-1-qi.z.zhang@intel.com>",
        "References": "<20200309114357.31800-1-qi.z.zhang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 05/28] net/ice/base: allow VLAN and ethertype\n\tfilter for port",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "Add new api function which allow user to choose port on which\nvlan and ethertype rule going to be added.\n\nSigned-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>\nSigned-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/net/ice/base/ice_switch.c | 162 ++++++++++++++++++++++++++------------\n 1 file changed, 112 insertions(+), 50 deletions(-)",
    "diff": "diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c\nindex 57b50085d..0f2a5b3e9 100644\n--- a/drivers/net/ice/base/ice_switch.c\n+++ b/drivers/net/ice/base/ice_switch.c\n@@ -2704,8 +2704,7 @@ ice_find_rule_entry(struct LIST_HEAD_TYPE *list_head,\n \n /**\n  * ice_find_vsi_list_entry - Search VSI list map with VSI count 1\n- * @hw: pointer to the hardware structure\n- * @recp_id: lookup type for which VSI lists needs to be searched\n+ * @recp_list: VSI lists needs to be searched\n  * @vsi_handle: VSI handle to be found in VSI list\n  * @vsi_list_id: VSI list ID found containing vsi_handle\n  *\n@@ -2714,15 +2713,14 @@ ice_find_rule_entry(struct LIST_HEAD_TYPE *list_head,\n  * than 1 vsi_count. Returns pointer to VSI list entry if found.\n  */\n static struct ice_vsi_list_map_info *\n-ice_find_vsi_list_entry(struct ice_hw *hw, u8 recp_id, u16 vsi_handle,\n+ice_find_vsi_list_entry(struct ice_sw_recipe *recp_list, u16 vsi_handle,\n \t\t\tu16 *vsi_list_id)\n {\n \tstruct ice_vsi_list_map_info *map_info = NULL;\n-\tstruct ice_switch_info *sw = hw->switch_info;\n \tstruct LIST_HEAD_TYPE *list_head;\n \n-\tlist_head = &sw->recp_list[recp_id].filt_rules;\n-\tif (sw->recp_list[recp_id].adv_rule) {\n+\tlist_head = &recp_list->filt_rules;\n+\tif (recp_list->adv_rule) {\n \t\tstruct ice_adv_fltr_mgmt_list_entry *list_itr;\n \n \t\tLIST_FOR_EACH_ENTRY(list_itr, list_head,\n@@ -3267,7 +3265,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,\n  * @hw: pointer to the hardware structure\n  * @m_list: list of MAC addresses and forwarding information\n  *\n- * Function add mac rule for logical port from hw struct\n+ * Function add MAC rule for logical port from HW struct\n  */\n enum ice_status\n ice_add_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list)\n@@ -3282,15 +3280,15 @@ ice_add_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list)\n /**\n  * ice_add_vlan_internal - Add one VLAN based filter rule\n  * @hw: pointer to the hardware structure\n+ * @recp_list: recipe list for which rule has to be added\n  * @f_entry: filter entry containing one VLAN information\n  */\n static enum ice_status\n-ice_add_vlan_internal(struct ice_hw *hw, struct ice_fltr_list_entry *f_entry)\n+ice_add_vlan_internal(struct ice_hw *hw, struct ice_sw_recipe *recp_list,\n+\t\t      struct ice_fltr_list_entry *f_entry)\n {\n-\tstruct ice_switch_info *sw = hw->switch_info;\n \tstruct ice_fltr_mgmt_list_entry *v_list_itr;\n \tstruct ice_fltr_info *new_fltr, *cur_fltr;\n-\tstruct ice_sw_recipe *recp_list;\n \tenum ice_sw_lkup_type lkup_type;\n \tu16 vsi_list_id = 0, vsi_handle;\n \tstruct ice_lock *rule_lock; /* Lock to protect filter rule list */\n@@ -3313,7 +3311,6 @@ ice_add_vlan_internal(struct ice_hw *hw, struct ice_fltr_list_entry *f_entry)\n \tnew_fltr->src = new_fltr->fwd_id.hw_vsi_id;\n \tlkup_type = new_fltr->lkup_type;\n \tvsi_handle = new_fltr->vsi_handle;\n-\trecp_list = &sw->recp_list[ICE_SW_LKUP_VLAN];\n \trule_lock = &recp_list->filt_rule_lock;\n \tice_acquire_lock(rule_lock);\n \tv_list_itr = ice_find_rule_entry(&recp_list->filt_rules, new_fltr);\n@@ -3326,7 +3323,7 @@ ice_add_vlan_internal(struct ice_hw *hw, struct ice_fltr_list_entry *f_entry)\n \t\t\t * want to add. If found, use the same vsi_list_id for\n \t\t\t * this new VLAN rule or else create a new list.\n \t\t\t */\n-\t\t\tmap_info = ice_find_vsi_list_entry(hw, ICE_SW_LKUP_VLAN,\n+\t\t\tmap_info = ice_find_vsi_list_entry(recp_list,\n \t\t\t\t\t\t\t   vsi_handle,\n \t\t\t\t\t\t\t   &vsi_list_id);\n \t\t\tif (!map_info) {\n@@ -3436,24 +3433,26 @@ ice_add_vlan_internal(struct ice_hw *hw, struct ice_fltr_list_entry *f_entry)\n }\n \n /**\n- * ice_add_vlan - Add VLAN based filter rule\n+ * ice_add_vlan_rule - Add VLAN based filter rule\n  * @hw: pointer to the hardware structure\n  * @v_list: list of VLAN entries and forwarding information\n+ * @sw: pointer to switch info struct for which function add rule\n  */\n-enum ice_status\n-ice_add_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n+static enum ice_status\n+ice_add_vlan_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list,\n+\t\t  struct ice_switch_info *sw)\n {\n \tstruct ice_fltr_list_entry *v_list_itr;\n+\tstruct ice_sw_recipe *recp_list;\n \n-\tif (!v_list || !hw)\n-\t\treturn ICE_ERR_PARAM;\n-\n+\trecp_list = &sw->recp_list[ICE_SW_LKUP_VLAN];\n \tLIST_FOR_EACH_ENTRY(v_list_itr, v_list, ice_fltr_list_entry,\n \t\t\t    list_entry) {\n \t\tif (v_list_itr->fltr_info.lkup_type != ICE_SW_LKUP_VLAN)\n \t\t\treturn ICE_ERR_PARAM;\n \t\tv_list_itr->fltr_info.flag = ICE_FLTR_TX;\n-\t\tv_list_itr->status = ice_add_vlan_internal(hw, v_list_itr);\n+\t\tv_list_itr->status = ice_add_vlan_internal(hw, recp_list,\n+\t\t\t\t\t\t\t   v_list_itr);\n \t\tif (v_list_itr->status)\n \t\t\treturn v_list_itr->status;\n \t}\n@@ -3461,6 +3460,22 @@ ice_add_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n }\n \n /**\n+ * ice_add_vlan - Add a VLAN based filter rule\n+ * @hw: pointer to the hardware structure\n+ * @v_list: list of VLAN and forwarding information\n+ *\n+ * Function add VLAN rule for logical port from HW struct\n+ */\n+enum ice_status\n+ice_add_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n+{\n+\tif (!v_list || !hw)\n+\t\treturn ICE_ERR_PARAM;\n+\n+\treturn ice_add_vlan_rule(hw, v_list, hw->switch_info);\n+}\n+\n+/**\n  * ice_add_mac_vlan - Add MAC and VLAN pair based filter rule\n  * @hw: pointer to the hardware structure\n  * @mv_list: list of MAC and VLAN filters\n@@ -3499,31 +3514,29 @@ ice_add_mac_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *mv_list)\n }\n \n /**\n- * ice_add_eth_mac - Add ethertype and MAC based filter rule\n+ * ice_add_eth_mac_rule - Add ethertype and MAC based filter rule\n  * @hw: pointer to the hardware structure\n  * @em_list: list of ether type MAC filter, MAC is optional\n+ * @sw: pointer to switch info struct for which function add rule\n+ * @lport: logic port number on which function add rule\n  *\n  * This function requires the caller to populate the entries in\n  * the filter list with the necessary fields (including flags to\n  * indicate Tx or Rx rules).\n  */\n-enum ice_status\n-ice_add_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n+static enum ice_status\n+ice_add_eth_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list,\n+\t\t     struct ice_switch_info *sw, u8 lport)\n {\n \tstruct ice_fltr_list_entry *em_list_itr;\n-\tu8 lport;\n-\n-\tif (!em_list || !hw)\n-\t\treturn ICE_ERR_PARAM;\n \n-\tlport = hw->port_info->lport;\n \tLIST_FOR_EACH_ENTRY(em_list_itr, em_list, ice_fltr_list_entry,\n \t\t\t    list_entry) {\n \t\tstruct ice_sw_recipe *recp_list;\n \t\tenum ice_sw_lkup_type l_type;\n \n \t\tl_type = em_list_itr->fltr_info.lkup_type;\n-\t\trecp_list = &hw->switch_info->recp_list[l_type];\n+\t\trecp_list = &sw->recp_list[l_type];\n \n \t\tif (l_type != ICE_SW_LKUP_ETHERTYPE_MAC &&\n \t\t    l_type != ICE_SW_LKUP_ETHERTYPE)\n@@ -3538,30 +3551,47 @@ ice_add_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n \treturn ICE_SUCCESS;\n }\n \n+enum ice_status\n /**\n- * ice_remove_eth_mac - Remove an ethertype (or MAC) based filter rule\n+ * ice_add_eth_mac - Add a ethertype based filter rule\n  * @hw: pointer to the hardware structure\n- * @em_list: list of ethertype or ethertype MAC entries\n+ * @em_list: list of ethertype and forwarding information\n+ *\n+ * Function add ethertype rule for logical port from HW struct\n  */\n-enum ice_status\n-ice_remove_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n+ice_add_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n {\n-\tstruct ice_fltr_list_entry *em_list_itr, *tmp;\n-\tstruct ice_sw_recipe *recp_list;\n-\n \tif (!em_list || !hw)\n \t\treturn ICE_ERR_PARAM;\n \n+\treturn ice_add_eth_mac_rule(hw, em_list, hw->switch_info,\n+\t\t\t\t    hw->port_info->lport);\n+}\n+\n+/**\n+ * ice_remove_eth_mac_rule - Remove an ethertype (or MAC) based filter rule\n+ * @hw: pointer to the hardware structure\n+ * @em_list: list of ethertype or ethertype MAC entries\n+ * @sw: pointer to switch info struct for which function add rule\n+ */\n+static enum ice_status\n+ice_remove_eth_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list,\n+\t\t\tstruct ice_switch_info *sw)\n+{\n+\tstruct ice_fltr_list_entry *em_list_itr, *tmp;\n+\n \tLIST_FOR_EACH_ENTRY_SAFE(em_list_itr, tmp, em_list, ice_fltr_list_entry,\n \t\t\t\t list_entry) {\n-\t\tenum ice_sw_lkup_type l_type =\n-\t\t\tem_list_itr->fltr_info.lkup_type;\n+\t\tstruct ice_sw_recipe *recp_list;\n+\t\tenum ice_sw_lkup_type l_type;\n+\n+\t\tl_type = em_list_itr->fltr_info.lkup_type;\n \n \t\tif (l_type != ICE_SW_LKUP_ETHERTYPE_MAC &&\n \t\t    l_type != ICE_SW_LKUP_ETHERTYPE)\n \t\t\treturn ICE_ERR_PARAM;\n \n-\t\trecp_list = &hw->switch_info->recp_list[l_type];\n+\t\trecp_list = &sw->recp_list[l_type];\n \t\tem_list_itr->status = ice_remove_rule_internal(hw, recp_list,\n \t\t\t\t\t\t\t       em_list_itr);\n \t\tif (em_list_itr->status)\n@@ -3571,6 +3601,21 @@ ice_remove_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n }\n \n /**\n+ * ice_remove_eth_mac - remove a ethertype based filter rule\n+ * @hw: pointer to the hardware structure\n+ * @em_list: list of ethertype and forwarding information\n+ *\n+ */\n+enum ice_status\n+ice_remove_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list)\n+{\n+\tif (!em_list || !hw)\n+\t\treturn ICE_ERR_PARAM;\n+\n+\treturn ice_remove_eth_mac_rule(hw, em_list, hw->switch_info);\n+}\n+\n+/**\n  * ice_rem_sw_rule_info\n  * @hw: pointer to the hardware structure\n  * @rule_head: pointer to the switch list structure that we want to delete\n@@ -3826,20 +3871,17 @@ ice_remove_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list)\n }\n \n /**\n- * ice_remove_vlan - Remove VLAN based filter rule\n+ * ice_remove_vlan_rule - Remove VLAN based filter rule\n  * @hw: pointer to the hardware structure\n  * @v_list: list of VLAN entries and forwarding information\n+ * @recp_list: list from which function remove VLAN\n  */\n-enum ice_status\n-ice_remove_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n+static enum ice_status\n+ice_remove_vlan_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list,\n+\t\t     struct ice_sw_recipe *recp_list)\n {\n \tstruct ice_fltr_list_entry *v_list_itr, *tmp;\n-\tstruct ice_sw_recipe *recp_list;\n-\n-\tif (!v_list || !hw)\n-\t\treturn ICE_ERR_PARAM;\n \n-\trecp_list = &hw->switch_info->recp_list[ICE_SW_LKUP_VLAN];\n \tLIST_FOR_EACH_ENTRY_SAFE(v_list_itr, tmp, v_list, ice_fltr_list_entry,\n \t\t\t\t list_entry) {\n \t\tenum ice_sw_lkup_type l_type = v_list_itr->fltr_info.lkup_type;\n@@ -3855,6 +3897,24 @@ ice_remove_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n }\n \n /**\n+ * ice_remove_vlan - remove a VLAN address based filter rule\n+ * @hw: pointer to the hardware structure\n+ * @v_list: list of VLAN and forwarding information\n+ *\n+ */\n+enum ice_status\n+ice_remove_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list)\n+{\n+\tstruct ice_sw_recipe *recp_list;\n+\n+\tif (!v_list || !hw)\n+\t\treturn ICE_ERR_PARAM;\n+\n+\trecp_list = &hw->switch_info->recp_list[ICE_SW_LKUP_VLAN];\n+\treturn ice_remove_vlan_rule(hw, v_list, recp_list);\n+}\n+\n+/**\n  * ice_remove_mac_vlan - Remove MAC VLAN based filter rule\n  * @hw: pointer to the hardware structure\n  * @v_list: list of MAC VLAN entries and forwarding information\n@@ -4401,7 +4461,7 @@ ice_remove_vsi_lkup_fltr(struct ice_hw *hw, u16 vsi_handle,\n \t\tice_remove_mac_rule(hw, &remove_list_head, &recp_list[lkup]);\n \t\tbreak;\n \tcase ICE_SW_LKUP_VLAN:\n-\t\tice_remove_vlan(hw, &remove_list_head);\n+\t\tice_remove_vlan_rule(hw, &remove_list_head, &recp_list[lkup]);\n \t\tbreak;\n \tcase ICE_SW_LKUP_PROMISC:\n \tcase ICE_SW_LKUP_PROMISC_VLAN:\n@@ -6770,7 +6830,8 @@ ice_rem_adv_rule_for_vsi(struct ice_hw *hw, u16 vsi_handle)\n \t\tmap_info = NULL;\n \t\tLIST_FOR_EACH_ENTRY(list_itr, list_head,\n \t\t\t\t    ice_adv_fltr_mgmt_list_entry, list_entry) {\n-\t\t\tmap_info = ice_find_vsi_list_entry(hw, rid, vsi_handle,\n+\t\t\tmap_info = ice_find_vsi_list_entry(&sw->recp_list[rid],\n+\t\t\t\t\t\t\t   vsi_handle,\n \t\t\t\t\t\t\t   &vsi_list_id);\n \t\t\tif (!map_info)\n \t\t\t\tcontinue;\n@@ -6843,7 +6904,8 @@ ice_replay_fltr(struct ice_hw *hw, u8 recp_id, struct LIST_HEAD_TYPE *list_head)\n \t\t\t\tice_get_hw_vsi_num(hw, vsi_handle);\n \t\t\tf_entry.fltr_info.fltr_act = ICE_FWD_TO_VSI;\n \t\t\tif (recp_id == ICE_SW_LKUP_VLAN)\n-\t\t\t\tstatus = ice_add_vlan_internal(hw, &f_entry);\n+\t\t\t\tstatus = ice_add_vlan_internal(hw, recp_list,\n+\t\t\t\t\t\t\t       &f_entry);\n \t\t\telse\n \t\t\t\tstatus = ice_add_rule_internal(hw, recp_list,\n \t\t\t\t\t\t\t       lport,\n@@ -6933,7 +6995,7 @@ ice_replay_vsi_fltr(struct ice_hw *hw, u16 vsi_handle, u8 recp_id,\n \t\tif (f_entry.fltr_info.src_id == ICE_SRC_ID_VSI)\n \t\t\tf_entry.fltr_info.src = hw_vsi_id;\n \t\tif (recp_id == ICE_SW_LKUP_VLAN)\n-\t\t\tstatus = ice_add_vlan_internal(hw, &f_entry);\n+\t\t\tstatus = ice_add_vlan_internal(hw, recp_list, &f_entry);\n \t\telse\n \t\t\tstatus = ice_add_rule_internal(hw, recp_list,\n \t\t\t\t\t\t       hw->port_info->lport,\n",
    "prefixes": [
        "05/28"
    ]
}