Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/130146/?format=api
http://patchwork.dpdk.org/api/patches/130146/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230811093032.2065099-2-wenjing.qiao@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": "<20230811093032.2065099-2-wenjing.qiao@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230811093032.2065099-2-wenjing.qiao@intel.com", "date": "2023-08-11T09:30:31", "name": "[1/4] net/cpfl: parse flow parser file in devargs", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "24d896026ee1506fcf463a464e5b1dc6f9255b3d", "submitter": { "id": 2680, "url": "http://patchwork.dpdk.org/api/people/2680/?format=api", "name": "Wenjing Qiao", "email": "wenjing.qiao@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/20230811093032.2065099-2-wenjing.qiao@intel.com/mbox/", "series": [ { "id": 29178, "url": "http://patchwork.dpdk.org/api/series/29178/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29178", "date": "2023-08-11T09:30:29", "name": "net/cpfl: add basic support for rte_flow", "version": 1, "mbox": "http://patchwork.dpdk.org/series/29178/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/130146/comments/", "check": "warning", "checks": "http://patchwork.dpdk.org/api/patches/130146/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 C0DA643032;\n\tFri, 11 Aug 2023 11:31:23 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B0C04410E3;\n\tFri, 11 Aug 2023 11:31:23 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id 4B97C40E03\n for <dev@dpdk.org>; Fri, 11 Aug 2023 11:31:22 +0200 (CEST)", "from orsmga007.jf.intel.com ([10.7.209.58])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 11 Aug 2023 02:31:20 -0700", "from dpdk-wenjing-02.sh.intel.com ([10.67.119.75])\n by orsmga007.jf.intel.com with ESMTP; 11 Aug 2023 02:31:18 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1691746282; x=1723282282;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=zaA4jjNsQvV592NU6R0YeWTtyIHE1SPK/yywGIh34cA=;\n b=Ktei9bzsvp5sk2otUbRuKeis25qOvR2m3xIN3luft6x14Q1sQ9q9vw6k\n 68RZVvw4fEufMm/ZVKnuDxdJ5VsW3ie2RiKWI3OdfTMDrvCQvI74vMwnU\n ly1XSXNlI/xtEJsOrZw2Vea25gVonCCAzMRL6A7o7XL3ClJx1elTFLRWd\n ajZMeo0nDZtbhlfbN/PrAYw/yLeABRZ/i60fUW5n13G9v6/9spRSxLdj+\n 6y+myq5KRBRiYyrGKPbV1OJ6NZ0fW/e3nWFXhJgWtZQG/Sd8b5iYkM2Ip\n 7PnckydzLNMw90a67swKTRcvfHZNDQ+99IX1dB26kECSNf/A6ZAYFgLRZ w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10798\"; a=\"351960018\"", "E=Sophos;i=\"6.01,165,1684825200\"; d=\"scan'208\";a=\"351960018\"", "E=McAfee;i=\"6600,9927,10798\"; a=\"726199792\"", "E=Sophos;i=\"6.01,165,1684825200\"; d=\"scan'208\";a=\"726199792\"" ], "X-ExtLoop1": "1", "From": "Wenjing Qiao <wenjing.qiao@intel.com>", "To": "yuying.zhang@intel.com,\n\tbeilei.xing@intel.com", "Cc": "dev@dpdk.org, mingxia.liu@intel.com, Wenjing Qiao <wenjing.qiao@intel.com>", "Subject": "[PATCH 1/4] net/cpfl: parse flow parser file in devargs", "Date": "Fri, 11 Aug 2023 09:30:31 +0000", "Message-Id": "<20230811093032.2065099-2-wenjing.qiao@intel.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20230811093032.2065099-1-wenjing.qiao@intel.com>", "References": "<20230811093032.2065099-1-wenjing.qiao@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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" }, "content": "Add devargs \"flow_parser\" for rte_flow json parser.\n\nSigned-off-by: Wenjing Qiao <wenjing.qiao@intel.com>\n---\n drivers/net/cpfl/cpfl_ethdev.c | 30 +++++++++++++++++++++++++++++-\n drivers/net/cpfl/cpfl_ethdev.h | 3 +++\n drivers/net/cpfl/meson.build | 6 ++++++\n 3 files changed, 38 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c\nindex 8dbc175749..a2f308fb86 100644\n--- a/drivers/net/cpfl/cpfl_ethdev.c\n+++ b/drivers/net/cpfl/cpfl_ethdev.c\n@@ -21,6 +21,7 @@\n #define CPFL_TX_SINGLE_Q\t\"tx_single\"\n #define CPFL_RX_SINGLE_Q\t\"rx_single\"\n #define CPFL_VPORT\t\t\"vport\"\n+#define CPFL_FLOW_PARSER\t\"flow_parser\"\n \n rte_spinlock_t cpfl_adapter_lock;\n /* A list for all adapters, one adapter matches one PCI device */\n@@ -32,6 +33,9 @@ static const char * const cpfl_valid_args_first[] = {\n \tCPFL_TX_SINGLE_Q,\n \tCPFL_RX_SINGLE_Q,\n \tCPFL_VPORT,\n+#ifdef CPFL_FLOW_JSON_SUPPORT\n+\tCPFL_FLOW_PARSER,\n+#endif\n \tNULL\n };\n \n@@ -1671,6 +1675,19 @@ parse_repr(const char *key __rte_unused, const char *value, void *args)\n \treturn 0;\n }\n \n+#ifdef CPFL_FLOW_JSON_SUPPORT\n+static int\n+parse_parser_file(const char *key, const char *value, void *args)\n+{\n+\tchar *name = args;\n+\n+\tPMD_DRV_LOG(DEBUG, \"value:\\\"%s\\\" for key:\\\"%s\\\"\", value, key);\n+\tstrlcpy(name, value, CPFL_FLOW_FILE_LEN);\n+\n+\treturn 0;\n+}\n+#endif\n+\n static int\n cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adapter, bool first)\n {\n@@ -1719,7 +1736,18 @@ cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adap\n \t\t\t\t &adapter->base.is_rx_singleq);\n \tif (ret != 0)\n \t\tgoto fail;\n-\n+#ifdef CPFL_FLOW_JSON_SUPPORT\n+\tif (rte_kvargs_get(kvlist, CPFL_FLOW_PARSER)) {\n+\t\tret = rte_kvargs_process(kvlist, CPFL_FLOW_PARSER,\n+\t\t\t\t\t &parse_parser_file, cpfl_args->flow_parser);\n+\t\tif (ret) {\n+\t\t\tPMD_DRV_LOG(ERR, \"Failed to parser flow_parser, ret: %d\", ret);\n+\t\t\tgoto fail;\n+\t\t}\n+\t} else {\n+\t\tcpfl_args->flow_parser[0] = '\\0';\n+\t}\n+#endif\n fail:\n \trte_kvargs_free(kvlist);\n \treturn ret;\ndiff --git a/drivers/net/cpfl/cpfl_ethdev.h b/drivers/net/cpfl/cpfl_ethdev.h\nindex 5bd6f930b8..cf989a29b3 100644\n--- a/drivers/net/cpfl/cpfl_ethdev.h\n+++ b/drivers/net/cpfl/cpfl_ethdev.h\n@@ -87,6 +87,8 @@\n #define ACC_LCE_ID\t15\n #define IMC_MBX_EFD_ID\t0\n \n+#define CPFL_FLOW_FILE_LEN 100\n+\n struct cpfl_vport_param {\n \tstruct cpfl_adapter_ext *adapter;\n \tuint16_t devarg_id; /* arg id from user */\n@@ -100,6 +102,7 @@ struct cpfl_devargs {\n \tuint16_t req_vport_nb;\n \tuint8_t repr_args_num;\n \tstruct rte_eth_devargs repr_args[CPFL_REPR_ARG_NUM_MAX];\n+\tchar flow_parser[CPFL_FLOW_FILE_LEN];\n };\n \n struct p2p_queue_chunks_info {\ndiff --git a/drivers/net/cpfl/meson.build b/drivers/net/cpfl/meson.build\nindex fb075c6860..0be25512c3 100644\n--- a/drivers/net/cpfl/meson.build\n+++ b/drivers/net/cpfl/meson.build\n@@ -38,3 +38,9 @@ if arch_subdir == 'x86'\n cflags += ['-DCC_AVX512_SUPPORT']\n endif\n endif\n+\n+js_dep = dependency('json-c', required: false, method : 'pkg-config')\n+if js_dep.found()\n+ dpdk_conf.set('CPFL_FLOW_JSON_SUPPORT', true)\n+ ext_deps += js_dep\n+endif\n\\ No newline at end of file\n", "prefixes": [ "1/4" ] }{ "id": 130146, "url": "