Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/82373/?format=api
http://patches.dpdk.org/api/patches/82373/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201027210115.2529025-9-thomas@monjalon.net/", "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": "<20201027210115.2529025-9-thomas@monjalon.net>", "list_archive_url": "https://inbox.dpdk.org/dev/20201027210115.2529025-9-thomas@monjalon.net", "date": "2020-10-27T21:01:08", "name": "[v3,08/15] net/bnxt: switch CFA code to dynamic mbuf field", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "0f56f336ad35cf9901018cd6028683fd1bcf2778", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201027210115.2529025-9-thomas@monjalon.net/mbox/", "series": [ { "id": 13393, "url": "http://patches.dpdk.org/api/series/13393/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13393", "date": "2020-10-27T21:01:00", "name": "remove mbuf userdata", "version": 3, "mbox": "http://patches.dpdk.org/series/13393/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/82373/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/82373/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 B74A9A04B5;\n\tTue, 27 Oct 2020 22:04:17 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5BFED2BF4;\n\tTue, 27 Oct 2020 22:02:08 +0100 (CET)", "from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com\n [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 3B29F4C97\n for <dev@dpdk.org>; Tue, 27 Oct 2020 22:02:04 +0100 (CET)", "from compute2.internal (compute2.nyi.internal [10.202.2.42])\n by mailout.nyi.internal (Postfix) with ESMTP id DF78D5C0108;\n Tue, 27 Oct 2020 17:02:03 -0400 (EDT)", "from mailfrontend1 ([10.202.2.162])\n by compute2.internal (MEProxy); Tue, 27 Oct 2020 17:02:03 -0400", "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id 3905B3280059;\n Tue, 27 Oct 2020 17:02:02 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding; s=fm2; bh=35KouOHKmhnO2\n N0MhYSi0uf0EtybAxmBhe66ewb4wQw=; b=onsbvz15KY+nsWB5tas0n4FU/Almd\n 6/oGBrTvpON+gnzw4BiCW0V56cTo7gLTmjxAucntHNjtCqElwxrmvI77U+ma+zLv\n fo+iD7KCDyYdMHgRCFZutBv9tljd5RAUmekcuZ4aUGLNkkRrvaiBalSgAqDm3DHz\n RjULJcvBUbHIlXjYSLal+TPj5M8hzI5WCNExQ5/6QzQkdBs7EfMeNDYfsoBZ0TOT\n naODm20dNz2U7HtHnS41JCeceATd28wSkZmwFAv1g9ioGFXISMLWk363SsL/QZMi\n PZ8sKnrn8hz1Hzf8k8+llMpad+J2GkBZ89oywNQWe/9n4RKQdC98DxBhA==", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :in-reply-to:message-id:mime-version:references:subject:to\n :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm1; bh=35KouOHKmhnO2N0MhYSi0uf0EtybAxmBhe66ewb4wQw=; b=fmDEHcxJ\n 91QydIN6P0rZo2EDtfoxLmbGSidLPaDFNkD7c4P5oafQrObPi062On5/pBI4OzCG\n wcDYP5gSyInDYkMWNGh6OLGJcYSQNcDkMBYhAh08WsNJ85KXvxd6eHqPWNCSnv99\n nUHUp7YnPKouL5wR4HbJJhNdICxX2CoTbF7Tg4QZbO8xBPov20lC4zP1Zd+3nCi4\n eYg+dVMjQU2CEC+miO+JPKaMBSqouPDNZwQLqvYMkpYE7VISpj3dOBFgkX8mFpT7\n gBrBOgRAgU33KKR3Xf2HYlwkC3nttx99eGbPLxUu0ZMvlfCpGqItl6fF3lYunvzJ\n OUIhZT8QKPaNEw==" ], "X-ME-Sender": "<xms:y4qYX0XKexaFWfS5bHS6BWG0loi7J8niK6zbnhJXP0KdEECHidE5bg>\n <xme:y4qYX4k5AWC12AJcxPmXGOzi4K6bsp6aY9UOk0tqBmQXUAjG6FNdxXqnwqzmkcIfP\n 7ICurSIYergOXK5oA>", "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedujedrkeelgddugeegucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgr\n shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg\n ftrfgrthhtvghrnhephefgjeeggfeuvefgvedvkeegffeftdekheegffejieegfeeuffdu\n fffhleffffdunecuffhomhgrihhnpehfughirhdrihgunecukfhppeejjedrudefgedrvd\n dtfedrudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhr\n ohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght", "X-ME-Proxy": "<xmx:y4qYX4bt4skSHBycSpcUoriuemd9FGP2oLfS3osWHhMxvbS6_1DdnQ>\n <xmx:y4qYXzXycEehu7nZZXESXgS524Q0sNenZ-gHPO6VrN3dON4PWN0oLQ>\n <xmx:y4qYX-mC0l8y6AClOs8c5mqANqk5W_9V9mF2SBy2Ml4ZR6QkZus8Pg>\n <xmx:y4qYX8ZKtN8ENST5LrvhyHxjiwHXQPRRRUwh89gO8HpxwisnGF5efg>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "dev@dpdk.org", "Cc": "ferruh.yigit@intel.com, david.marchand@redhat.com,\n bruce.richardson@intel.com, olivier.matz@6wind.com,\n andrew.rybchenko@oktetlabs.ru, akhil.goyal@nxp.com,\n Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>", "Date": "Tue, 27 Oct 2020 22:01:08 +0100", "Message-Id": "<20201027210115.2529025-9-thomas@monjalon.net>", "X-Mailer": "git-send-email 2.28.0", "In-Reply-To": "<20201027210115.2529025-1-thomas@monjalon.net>", "References": "<20201026052105.1561859-1-thomas@monjalon.net>\n <20201027210115.2529025-1-thomas@monjalon.net>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v3 08/15] net/bnxt: switch CFA code to dynamic\n\tmbuf field", "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": "The CFA code from mark was stored in the deprecated mbuf field udata64.\nIt is moved to a dynamic field in order to allow removal of udata64.\n\nNote: the new field has 32 bits, smaller than udata64.\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\nAcked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_ethdev.c | 19 +++++++++++++++++++\n drivers/net/bnxt/bnxt_rxr.c | 2 +-\n drivers/net/bnxt/bnxt_rxr.h | 5 +++++\n drivers/net/bnxt/rte_pmd_bnxt.h | 3 +++\n 4 files changed, 28 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 1c7d1b758d..f1350d39da 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -31,6 +31,7 @@\n #include \"bnxt_nvm_defs.h\"\n #include \"bnxt_tf_common.h\"\n #include \"ulp_flow_db.h\"\n+#include \"rte_pmd_bnxt.h\"\n \n #define DRV_MODULE_NAME\t\t\"bnxt\"\n static const char bnxt_version[] =\n@@ -163,6 +164,8 @@ static const char *const bnxt_dev_args[] = {\n */\n #define BNXT_DEVARG_REP_FC_F2R_INVALID(rep_fc_f2r)\t((rep_fc_f2r) > 1)\n \n+int bnxt_cfa_code_dynfield_offset = -1;\n+\n /*\n * max_num_kflows must be >= 32\n * and must be a power-of-2 supported value\n@@ -6021,6 +6024,22 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)\n \t pci_dev->id.device_id == BROADCOM_DEV_ID_58802_VF)\n \t\tbp->flags |= BNXT_FLAG_STINGRAY;\n \n+\tif (BNXT_TRUFLOW_EN(bp)) {\n+\t\t/* extra mbuf field is required to store CFA code from mark */\n+\t\tstatic const struct rte_mbuf_dynfield bnxt_cfa_code_dynfield_desc = {\n+\t\t\t.name = RTE_PMD_BNXT_CFA_CODE_DYNFIELD_NAME,\n+\t\t\t.size = sizeof(bnxt_cfa_code_dynfield_t),\n+\t\t\t.align = __alignof__(bnxt_cfa_code_dynfield_t),\n+\t\t};\n+\t\tbnxt_cfa_code_dynfield_offset =\n+\t\t\trte_mbuf_dynfield_register(&bnxt_cfa_code_dynfield_desc);\n+\t\tif (bnxt_cfa_code_dynfield_offset < 0) {\n+\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t \"Failed to register mbuf field for TruFlow mark\\n\");\n+\t\t\treturn -rte_errno;\n+\t\t}\n+\t}\n+\n \trc = bnxt_init_board(eth_dev);\n \tif (rc) {\n \t\tPMD_DRV_LOG(ERR,\ndiff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c\nindex 039217fa60..7156ce7dd8 100644\n--- a/drivers/net/bnxt/bnxt_rxr.c\n+++ b/drivers/net/bnxt/bnxt_rxr.c\n@@ -606,7 +606,7 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,\n \t\t\treturn mark_id;\n \t\t/* Got the mark, write it to the mbuf and return */\n \t\tmbuf->hash.fdir.hi = mark_id;\n-\t\tmbuf->udata64 = (cfa_code & 0xffffffffull) << 32;\n+\t\tBNXT_CFA_CODE_DYNFIELD(mbuf) = cfa_code & 0xffffffffull;\n \t\tmbuf->hash.fdir.id = rxcmp1->cfa_code;\n \t\tmbuf->ol_flags |= PKT_RX_FDIR | PKT_RX_FDIR_ID;\n \t\treturn mark_id;\ndiff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h\nindex b874e54a8c..2d16a551ce 100644\n--- a/drivers/net/bnxt/bnxt_rxr.h\n+++ b/drivers/net/bnxt/bnxt_rxr.h\n@@ -95,6 +95,11 @@ void bnxt_set_mark_in_mbuf(struct bnxt *bp,\n \t\t\t struct rx_pkt_cmpl_hi *rxcmp1,\n \t\t\t struct rte_mbuf *mbuf);\n \n+typedef uint32_t bnxt_cfa_code_dynfield_t;\n+extern int bnxt_cfa_code_dynfield_offset;\n+#define BNXT_CFA_CODE_DYNFIELD(mbuf) (*RTE_MBUF_DYNFIELD(mbuf, \\\n+\t\tbnxt_cfa_code_dynfield_offset, bnxt_cfa_code_dynfield_t *))\n+\n #define BNXT_RX_META_CFA_CODE_SHIFT\t\t19\n #define BNXT_CFA_CODE_META_SHIFT\t\t16\n #define BNXT_RX_META_CFA_CODE_INT_ACT_REC_BIT\t0x8000000\ndiff --git a/drivers/net/bnxt/rte_pmd_bnxt.h b/drivers/net/bnxt/rte_pmd_bnxt.h\nindex 81d0d0e032..f538b6550e 100644\n--- a/drivers/net/bnxt/rte_pmd_bnxt.h\n+++ b/drivers/net/bnxt/rte_pmd_bnxt.h\n@@ -9,6 +9,9 @@\n #include <rte_ethdev.h>\n #include <rte_ether.h>\n \n+/** mbuf dynamic field where CFA code is stored */\n+#define RTE_PMD_BNXT_CFA_CODE_DYNFIELD_NAME \"rte_net_bnxt_dynfield_cfa_code\"\n+\n /*\n * Response sent back to the caller after callback\n */\n", "prefixes": [ "v3", "08/15" ] }{ "id": 82373, "url": "