get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 71140,
    "url": "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"
    ]
}