Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/130151/?format=api
http://patches.dpdk.org/api/patches/130151/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230811100012.2078135-2-wenjing.qiao@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": "<20230811100012.2078135-2-wenjing.qiao@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230811100012.2078135-2-wenjing.qiao@intel.com", "date": "2023-08-11T10:00:11", "name": "[v2,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://patches.dpdk.org/api/people/2680/?format=api", "name": "Wenjing Qiao", "email": "wenjing.qiao@intel.com" }, "delegate": { "id": 1540, "url": "http://patches.dpdk.org/api/users/1540/?format=api", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230811100012.2078135-2-wenjing.qiao@intel.com/mbox/", "series": [ { "id": 29180, "url": "http://patches.dpdk.org/api/series/29180/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=29180", "date": "2023-08-11T10:00:09", "name": "net/cpfl: add basic support for rte_flow", "version": 2, "mbox": "http://patches.dpdk.org/series/29180/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/130151/comments/", "check": "warning", "checks": "http://patches.dpdk.org/api/patches/130151/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 3527A43033;\n\tFri, 11 Aug 2023 12:04:54 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1FE6C43251;\n\tFri, 11 Aug 2023 12:04:54 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 60BB640E03\n for <dev@dpdk.org>; Fri, 11 Aug 2023 12:04:52 +0200 (CEST)", "from fmsmga001.fm.intel.com ([10.253.24.23])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 11 Aug 2023 03:04:51 -0700", "from dpdk-wenjing-02.sh.intel.com ([10.67.119.75])\n by fmsmga001.fm.intel.com with ESMTP; 11 Aug 2023 03:04:53 -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=1691748292; x=1723284292;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=KeZBCciHkkjfGlBwvs4FTiq66XsuUbTcfYSzb/4GqRI=;\n b=XeYWKoMNi5ewQN+LQ/qqRYIjc5pVaSWi6AEQQdzb/NM1Mk0U7wZq3XiF\n oSjKUd3RiCjwHveDuCFVwB5dda9b9c1UAqfHgEZWRTF4aTCW/AxOdl/9e\n t4nJ5wUrCX4ni9j0dbFcPsvszq4f9/8DI3GCWN4LWnOWVQym/cqBOp2qj\n R3jz+efxE8FV6aG6f2WR7RKGjC66RuaY+G0eNt6Qs8GoOEwU5UbyXsh6U\n zspU96YDKSr6mEGnADGcUfclR9LqaqzLbLfs5CRj5H3VG5dUXwy2FhlAz\n D9XsSLSRfppfHvwnG5ibQCpzw8Qm3lkU9jFVPwBtrZBC81fobw/YT0fdb A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10798\"; a=\"435538944\"", "E=Sophos;i=\"6.01,165,1684825200\"; d=\"scan'208\";a=\"435538944\"", "E=Sophos;i=\"6.01,202,1684825200\"; d=\"scan'208\";a=\"876105371\"" ], "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 v2 1/4] net/cpfl: parse flow parser file in devargs", "Date": "Fri, 11 Aug 2023 10:00:11 +0000", "Message-Id": "<20230811100012.2078135-2-wenjing.qiao@intel.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20230811093032.2065099-2-wenjing.qiao@intel.com>", "References": "<20230811093032.2065099-2-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---\nDepends-on: series-29139 (\"net/cpfl: support port representor\")\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": [ "v2", "1/4" ] }{ "id": 130151, "url": "