Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/71140/?format=api
https://patches.dpdk.org/api/patches/71140/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200610114427.22146-5-somnath.kotur@broadcom.com/", "project": { "id": 1, "url": "https://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": "<20200610114427.22146-5-somnath.kotur@broadcom.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200610114427.22146-5-somnath.kotur@broadcom.com", "date": "2020-06-10T11:43:55", "name": "[04/36] net/bnxt: support for mark action for LFID rules", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "162df9b70306177237ab6caa65ee11b18d9ce771", "submitter": { "id": 908, "url": "https://patches.dpdk.org/api/people/908/?format=api", "name": "Somnath Kotur", "email": "somnath.kotur@broadcom.com" }, "delegate": { "id": 1766, "url": "https://patches.dpdk.org/api/users/1766/?format=api", "username": "ajitkhaparde", "first_name": "Ajit", "last_name": "Khaparde", "email": "ajit.khaparde@broadcom.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200610114427.22146-5-somnath.kotur@broadcom.com/mbox/", "series": [ { "id": 10380, "url": "https://patches.dpdk.org/api/series/10380/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=10380", "date": "2020-06-10T11:43:51", "name": "bnxt patches", "version": 1, "mbox": "https://patches.dpdk.org/series/10380/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/71140/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/71140/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 3F09FA051A;\n\tWed, 10 Jun 2020 13:49:37 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 753425F69;\n\tWed, 10 Jun 2020 13:49:02 +0200 (CEST)", "from relay.smtp.broadcom.com (relay.smtp.broadcom.com\n [192.19.232.149]) by dpdk.org (Postfix) with ESMTP id 431473195\n for <dev@dpdk.org>; Wed, 10 Jun 2020 13:49:00 +0200 (CEST)", "from dhcp-10-123-153-55.dhcp.broadcom.net\n (dhcp-10-123-153-55.dhcp.broadcom.net [10.123.153.55])\n by relay.smtp.broadcom.com (Postfix) with ESMTP id 671041BD53E;\n Wed, 10 Jun 2020 04:48:59 -0700 (PDT)" ], "DKIM-Filter": "OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 671041BD53E", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com;\n s=dkimrelay; t=1591789740;\n bh=PBK4oVezq9MthssJXF1U/AeA8aXKXo59kvGK77N5tr8=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=RgjpbXLdxwG9+TO0B5/FJfihiKWHHUprgT4kYXThdOitx5J08/z2TWXm+rvo1Yqv3\n ARsgMbeSYkilvYqQlcQPmsS9joIbDQun7RUVcOMbPi1GMMBWjldqjuhkYBynyYvZIu\n 1NJ8JuNE8pvV7gkmqQ4lrLLbUZfgYwsQ+G+nQqTA=", "From": "Somnath Kotur <somnath.kotur@broadcom.com>", "To": "dev@dpdk.org", "Cc": "ferruh.yigit@intel.com", "Date": "Wed, 10 Jun 2020 17:13:55 +0530", "Message-Id": "<20200610114427.22146-5-somnath.kotur@broadcom.com>", "X-Mailer": "git-send-email 2.10.1.613.g2cc2e70", "In-Reply-To": "<20200610114427.22146-1-somnath.kotur@broadcom.com>", "References": "<20200610114427.22146-1-somnath.kotur@broadcom.com>", "Subject": "[dpdk-dev] [PATCH 04/36] net/bnxt: support for mark action for LFID\n\trules", "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": "From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\n\nThe ulp mapper changes to support mark actions for non\nGFID entries that support only LFID rules.\n\nSigned-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\nReviewed-by: Michael Baucom <michael.baucom@broadcom.com>\nSigned-off-by: Somnath Kotur <somnath.kotur@broadcom.com>\n---\n drivers/net/bnxt/tf_ulp/ulp_mapper.c | 198 +++++++++++++++++++-----------\n drivers/net/bnxt/tf_ulp/ulp_mapper.h | 3 +-\n drivers/net/bnxt/tf_ulp/ulp_template_db.h | 3 +-\n 3 files changed, 132 insertions(+), 72 deletions(-)", "diff": "diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\nindex 1a0d577..41800d5 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n@@ -313,8 +313,8 @@ ulp_mapper_cache_res_type_get(struct ulp_flow_db_res_params *res,\n \n static int32_t\n ulp_mapper_cache_entry_free(struct bnxt_ulp_context *ulp,\n-\t\t\t struct tf *tfp,\n-\t\t\t struct ulp_flow_db_res_params *res)\n+\t\t\t struct tf *tfp,\n+\t\t\t struct ulp_flow_db_res_params *res)\n {\n \tstruct bnxt_ulp_mapper_cache_entry *cache_entry;\n \tstruct tf_free_identifier_parms ident_parms;\n@@ -945,7 +945,7 @@ ulp_mapper_action_info_process(struct bnxt_ulp_mapper_parms *parms,\n \t\tbit_size = BNXT_ULP_FLMP_BLOB_SIZE_IN_BITS;\n \telse\n \t\tbit_size = tbl->result_bit_size;\n-\tif (!ulp_blob_init(&blob, bit_size, parms->order)) {\n+\tif (!ulp_blob_init(&blob, bit_size, parms->device_params->byte_order)) {\n \t\tBNXT_TF_DBG(ERR, \"action blob init failed\\n\");\n \t\treturn -EINVAL;\n \t}\n@@ -968,7 +968,7 @@ ulp_mapper_action_info_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\treturn rc;\n \t\t}\n \t\t/* set the swap index if 64 bit swap is enabled */\n-\t\tif (parms->encap_byte_swap && encap_flds) {\n+\t\tif (parms->device_params->encap_byte_swap && encap_flds) {\n \t\t\tif ((i + 1) == num_flds)\n \t\t\t\tulp_blob_encap_swap_idx_set(&blob);\n \t\t\t/* if 64 bit swap is enabled perform the 64bit swap */\n@@ -982,6 +982,98 @@ ulp_mapper_action_info_process(struct bnxt_ulp_mapper_parms *parms,\n }\n \n static int32_t\n+ulp_mapper_mark_gfid_process(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t struct bnxt_ulp_mapper_class_tbl_info *tbl,\n+\t\t\t uint64_t flow_id)\n+{\n+\tstruct ulp_flow_db_res_params fid_parms;\n+\tuint32_t vfr_flag, mark, gfid, mark_flag;\n+\tint32_t rc = 0;\n+\n+\tvfr_flag = ULP_UTIL_CHF_IDX_RD(parms, BNXT_ULP_CHF_IDX_VFR_FLAG);\n+\tif (!(tbl->mark_enable &&\n+\t (ULP_BITMAP_ISSET(parms->act_bitmap->bits,\n+\t\t\t BNXT_ULP_ACTION_BIT_MARK) || vfr_flag)))\n+\t\treturn rc; /* no need to perform gfid process */\n+\n+\t/* Get the mark id details from action property */\n+\tmemcpy(&mark, &parms->act_prop->act_details[BNXT_ULP_ACT_PROP_IDX_MARK],\n+\t sizeof(mark));\n+\tmark = tfp_be_to_cpu_32(mark);\n+\n+\tTF_GET_GFID_FROM_FLOW_ID(flow_id, gfid);\n+\tmark_flag = BNXT_ULP_MARK_GLOBAL_HW_FID;\n+\tmark_flag |= (vfr_flag) ? BNXT_ULP_MARK_VFR_ID : 0;\n+\trc = ulp_mark_db_mark_add(parms->ulp_ctx, mark_flag,\n+\t\t\t\t gfid, mark);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to add mark to flow\\n\");\n+\t\treturn rc;\n+\t}\n+\tfid_parms.direction = tbl->direction;\n+\tfid_parms.resource_func = BNXT_ULP_RESOURCE_FUNC_HW_FID;\n+\tfid_parms.critical_resource = 0;\n+\tfid_parms.resource_type\t= mark_flag;\n+\tfid_parms.resource_hndl\t= gfid;\n+\trc = ulp_flow_db_resource_add(parms->ulp_ctx,\n+\t\t\t\t parms->tbl_idx,\n+\t\t\t\t parms->fid,\n+\t\t\t\t &fid_parms);\n+\tif (rc)\n+\t\tBNXT_TF_DBG(ERR, \"Fail to link res to flow rc = %d\\n\", rc);\n+\treturn rc;\n+}\n+\n+static int32_t\n+ulp_mapper_mark_act_ptr_process(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t\tstruct bnxt_ulp_mapper_class_tbl_info *tbl)\n+{\n+\tstruct ulp_flow_db_res_params fid_parms;\n+\tuint32_t vfr_flag, act_idx, mark, mark_flag;\n+\tuint64_t val64;\n+\tint32_t rc = 0;\n+\n+\tvfr_flag = ULP_UTIL_CHF_IDX_RD(parms, BNXT_ULP_CHF_IDX_VFR_FLAG);\n+\tif (!(tbl->mark_enable &&\n+\t (ULP_BITMAP_ISSET(parms->act_bitmap->bits,\n+\t\t\t\tBNXT_ULP_ACTION_BIT_MARK) || vfr_flag)))\n+\t\treturn rc; /* no need to perform mark action process */\n+\n+\t/* Get the mark id details from action property */\n+\tmemcpy(&mark, &parms->act_prop->act_details[BNXT_ULP_ACT_PROP_IDX_MARK],\n+\t sizeof(mark));\n+\tmark = tfp_be_to_cpu_32(mark);\n+\n+\tif (!ulp_regfile_read(parms->regfile,\n+\t\t\t BNXT_ULP_REGFILE_INDEX_ACTION_PTR_MAIN,\n+\t\t\t &val64)) {\n+\t\tBNXT_TF_DBG(ERR, \"read action ptr main failed\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\tact_idx = tfp_be_to_cpu_64(val64);\n+\tmark_flag = BNXT_ULP_MARK_LOCAL_HW_FID;\n+\tmark_flag |= (vfr_flag) ? BNXT_ULP_MARK_VFR_ID : 0;\n+\trc = ulp_mark_db_mark_add(parms->ulp_ctx, mark_flag,\n+\t\t\t\t act_idx, mark);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to add mark to flow\\n\");\n+\t\treturn rc;\n+\t}\n+\tfid_parms.direction = tbl->direction;\n+\tfid_parms.resource_func = BNXT_ULP_RESOURCE_FUNC_HW_FID;\n+\tfid_parms.critical_resource = 0;\n+\tfid_parms.resource_type\t= mark_flag;\n+\tfid_parms.resource_hndl\t= act_idx;\n+\trc = ulp_flow_db_resource_add(parms->ulp_ctx,\n+\t\t\t\t parms->tbl_idx,\n+\t\t\t\t parms->fid,\n+\t\t\t\t &fid_parms);\n+\tif (rc)\n+\t\tBNXT_TF_DBG(ERR, \"Fail to link res to flow rc = %d\\n\", rc);\n+\treturn rc;\n+}\n+\n+static int32_t\n ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t struct bnxt_ulp_mapper_class_tbl_info *tbl)\n {\n@@ -1015,9 +1107,12 @@ ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\treturn -EINVAL;\n \t}\n \n-\tif (!ulp_blob_init(&key, tbl->key_bit_size, parms->order) ||\n-\t !ulp_blob_init(&mask, tbl->key_bit_size, parms->order) ||\n-\t !ulp_blob_init(&data, tbl->result_bit_size, parms->order)) {\n+\tif (!ulp_blob_init(&key, tbl->key_bit_size,\n+\t\t\t parms->device_params->byte_order) ||\n+\t !ulp_blob_init(&mask, tbl->key_bit_size,\n+\t\t\t parms->device_params->byte_order) ||\n+\t !ulp_blob_init(&data, tbl->result_bit_size,\n+\t\t\t parms->device_params->byte_order)) {\n \t\tBNXT_TF_DBG(ERR, \"blob inits failed.\\n\");\n \t\treturn -EINVAL;\n \t}\n@@ -1160,6 +1255,11 @@ ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\tparms->cache_ptr->tcam_idx = aparms.idx;\n \t\t}\n \n+\t\t/* Mark action */\n+\t\trc = ulp_mapper_mark_act_ptr_process(parms, tbl);\n+\t\tif (rc)\n+\t\t\tgoto error;\n+\n \t} else {\n \t\tBNXT_TF_DBG(ERR, \"Not supporting search before alloc now\\n\");\n \t\trc = -EINVAL;\n@@ -1220,7 +1320,6 @@ ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \tuint32_t i, num_kflds, num_dflds;\n \tuint16_t tmplen;\n \tstruct tf *tfp = bnxt_ulp_cntxt_tfp_get(parms->ulp_ctx);\n-\tstruct ulp_rte_act_prop\t *a_prop = parms->act_prop;\n \tstruct ulp_flow_db_res_params\tfid_parms = { 0 };\n \tstruct tf_insert_em_entry_parms iparms = { 0 };\n \tstruct tf_delete_em_entry_parms free_parms = { 0 };\n@@ -1234,8 +1333,10 @@ ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t}\n \n \t/* Initialize the key/result blobs */\n-\tif (!ulp_blob_init(&key, tbl->blob_key_bit_size, parms->order) ||\n-\t !ulp_blob_init(&data, tbl->result_bit_size, parms->order)) {\n+\tif (!ulp_blob_init(&key, tbl->blob_key_bit_size,\n+\t\t\t parms->device_params->byte_order) ||\n+\t !ulp_blob_init(&data, tbl->result_bit_size,\n+\t\t\t parms->device_params->byte_order)) {\n \t\tBNXT_TF_DBG(ERR, \"blob inits failed.\\n\");\n \t\treturn -EINVAL;\n \t}\n@@ -1305,56 +1406,16 @@ ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\treturn rc;\n \t}\n \n-\tif (tbl->mark_enable &&\n-\t ULP_BITMAP_ISSET(parms->act_bitmap->bits,\n-\t\t\t BNXT_ULP_ACTION_BIT_MARK)) {\n-\t\tuint32_t val, mark, gfid, flag;\n-\t\t/* TBD: Need to determine if GFID is enabled globally */\n-\t\tif (sizeof(val) != BNXT_ULP_ACT_PROP_SZ_MARK) {\n-\t\t\tBNXT_TF_DBG(ERR, \"Mark size (%d) != expected (%zu)\\n\",\n-\t\t\t\t BNXT_ULP_ACT_PROP_SZ_MARK, sizeof(val));\n-\t\t\trc = -EINVAL;\n-\t\t\tgoto error;\n-\t\t}\n-\n-\t\tmemcpy(&val,\n-\t\t &a_prop->act_details[BNXT_ULP_ACT_PROP_IDX_MARK],\n-\t\t sizeof(val));\n-\n-\t\tmark = tfp_be_to_cpu_32(val);\n-\n-\t\tTF_GET_GFID_FROM_FLOW_ID(iparms.flow_id, gfid);\n-\t\tflag = BNXT_ULP_MARK_GLOBAL_HW_FID;\n-\t\trc = ulp_mark_db_mark_add(parms->ulp_ctx,\n-\t\t\t\t\t flag,\n-\t\t\t\t\t gfid,\n-\t\t\t\t\t mark);\n-\t\tif (rc) {\n-\t\t\tBNXT_TF_DBG(ERR, \"Failed to add mark to flow\\n\");\n-\t\t\tgoto error;\n-\t\t}\n-\n-\t\t/*\n-\t\t * Link the mark resource to the flow in the flow db\n-\t\t * The mark is never the critical resource, so it is 0.\n-\t\t */\n-\t\tmemset(&fid_parms, 0, sizeof(fid_parms));\n-\t\tfid_parms.direction\t= tbl->direction;\n-\t\tfid_parms.resource_func\t= BNXT_ULP_RESOURCE_FUNC_HW_FID;\n-\t\tfid_parms.resource_type\t= flag;\n-\t\tfid_parms.resource_hndl\t= gfid;\n-\t\tfid_parms.critical_resource = 0;\n-\n-\t\trc = ulp_flow_db_resource_add(parms->ulp_ctx,\n-\t\t\t\t\t parms->tbl_idx,\n-\t\t\t\t\t parms->fid,\n-\t\t\t\t\t &fid_parms);\n-\t\tif (rc) {\n-\t\t\tBNXT_TF_DBG(ERR, \"Fail to link res to flow rc = %d\\n\",\n-\t\t\t\t rc);\n-\t\t\t/* Need to free the identifier, so goto error */\n-\t\t\tgoto error;\n-\t\t}\n+\t/* Mark action process */\n+\tif (parms->device_params->global_fid_enable &&\n+\t tbl->table_type == TF_MEM_EXTERNAL)\n+\t\trc = ulp_mapper_mark_gfid_process(parms, tbl, iparms.flow_id);\n+\telse if (!parms->device_params->global_fid_enable &&\n+\t\t tbl->table_type == TF_MEM_INTERNAL)\n+\t\trc = ulp_mapper_mark_act_ptr_process(parms, tbl);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to add mark to flow\\n\");\n+\t\tgoto error;\n \t}\n \n \t/* Link the EM resource to the flow in the flow db */\n@@ -1409,7 +1470,8 @@ ulp_mapper_index_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \n \tbnxt_ulp_cntxt_tbl_scope_id_get(parms->ulp_ctx, &tbl_scope_id);\n \n-\tif (!ulp_blob_init(&data, tbl->result_bit_size, parms->order)) {\n+\tif (!ulp_blob_init(&data, tbl->result_bit_size,\n+\t\t\t parms->device_params->byte_order)) {\n \t\tBNXT_TF_DBG(ERR, \"Failed initial index table blob\\n\");\n \t\treturn -EINVAL;\n \t}\n@@ -1538,7 +1600,8 @@ ulp_mapper_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\tBNXT_TF_DBG(ERR, \"Failed to get key fields\\n\");\n \t\treturn -EINVAL;\n \t}\n-\tif (!ulp_blob_init(&key, tbl->key_bit_size, parms->order)) {\n+\tif (!ulp_blob_init(&key, tbl->key_bit_size,\n+\t\t\t parms->device_params->byte_order)) {\n \t\tBNXT_TF_DBG(ERR, \"Failed to alloc blob\\n\");\n \t\treturn -EINVAL;\n \t}\n@@ -1858,7 +1921,6 @@ ulp_mapper_flow_create(struct bnxt_ulp_context *ulp_ctx,\n \t\t struct bnxt_ulp_mapper_create_parms *cparms,\n \t\t uint32_t *flowid)\n {\n-\tstruct bnxt_ulp_device_params *device_params;\n \tstruct bnxt_ulp_mapper_parms parms;\n \tstruct ulp_regfile regfile;\n \tint32_t\t rc, trc;\n@@ -1916,15 +1978,13 @@ ulp_mapper_flow_create(struct bnxt_ulp_context *ulp_ctx,\n \t\treturn -EINVAL;\n \t}\n \n-\t/* Get the byte order for the further processing from device params */\n-\tdevice_params = bnxt_ulp_device_params_get(parms.dev_id);\n-\tif (!device_params) {\n+\t/* Get the device params, it will be used in later processing */\n+\tparms.device_params = bnxt_ulp_device_params_get(parms.dev_id);\n+\tif (!parms.device_params) {\n \t\tBNXT_TF_DBG(ERR, \"No class tables for %d:%d\\n\",\n \t\t\t parms.dev_id, parms.class_tid);\n \t\treturn -EINVAL;\n \t}\n-\tparms.order = device_params->byte_order;\n-\tparms.encap_byte_swap = device_params->encap_byte_swap;\n \n \t/* initialize the registry file for further processing */\n \tif (!ulp_regfile_init(parms.regfile)) {\n@@ -2033,7 +2093,7 @@ ulp_mapper_init(struct bnxt_ulp_context *ulp_ctx)\n \t\t/* All regfile entries are stored as 64bit big-endian values. */\n \t\tregval = tfp_cpu_to_be_64((uint64_t)iparms.id);\n \t\trc = ulp_mapper_def_regfile_write(data, iparms.dir,\n-\t\t\t\t\t\t reg_idx, regval);\n+\t\t\t\t\t\t reg_idx, regval);\n \t\tif (rc) {\n \t\t\tBNXT_TF_DBG(ERR, \"Failed to write to default \"\n \t\t\t\t \"regfile.\\n\");\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h\nindex e794795..0754e39 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h\n@@ -57,7 +57,6 @@ struct bnxt_ulp_mapper_data {\n /* Internal Structure for passing the arguments around */\n struct bnxt_ulp_mapper_parms {\n \tuint32_t\t\t\t\tdev_id;\n-\tenum bnxt_ulp_byte_order\t\torder;\n \tuint32_t\t\t\t\tact_tid;\n \tstruct bnxt_ulp_mapper_act_tbl_info\t*atbls;\n \tuint32_t\t\t\t\tnum_atbls;\n@@ -71,12 +70,12 @@ struct bnxt_ulp_mapper_parms {\n \tstruct ulp_regfile\t\t\t*regfile;\n \tstruct tf\t\t\t\t*tfp;\n \tstruct bnxt_ulp_context\t\t\t*ulp_ctx;\n-\tuint8_t\t\t\t\t\tencap_byte_swap;\n \tuint32_t\t\t\t\tfid;\n \tenum bnxt_ulp_flow_db_tables\t\ttbl_idx;\n \tstruct bnxt_ulp_mapper_data\t\t*mapper_data;\n \tenum bnxt_ulp_cache_table_opc\t\ttcam_tbl_opc;\n \tstruct bnxt_ulp_mapper_cache_entry\t*cache_ptr;\n+\tstruct bnxt_ulp_device_params\t\t*device_params;\n };\n \n struct bnxt_ulp_mapper_create_parms {\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db.h b/drivers/net/bnxt/tf_ulp/ulp_template_db.h\nindex 212068f..fcd80d9 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db.h\n@@ -111,7 +111,8 @@ enum bnxt_ulp_chf_idx {\n \tBNXT_ULP_CHF_IDX_I_L3 = 11,\n \tBNXT_ULP_CHF_IDX_O_L4 = 12,\n \tBNXT_ULP_CHF_IDX_I_L4 = 13,\n-\tBNXT_ULP_CHF_IDX_LAST = 14\n+\tBNXT_ULP_CHF_IDX_VFR_FLAG = 14,\n+\tBNXT_ULP_CHF_IDX_LAST = 15\n };\n \n enum bnxt_ulp_def_regfile_index {\n", "prefixes": [ "04/36" ] }{ "id": 71140, "url": "