Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/80168/?format=api
https://patches.dpdk.org/api/patches/80168/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20201009131331.5897-3-nipun.gupta@nxp.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": "<20201009131331.5897-3-nipun.gupta@nxp.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20201009131331.5897-3-nipun.gupta@nxp.com", "date": "2020-10-09T13:13:31", "name": "[3/3,v3] app/testpmd: support hardware offload to drop error packets", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "6c84f89c7e5b6ab809a0e5bab8b7716e85206452", "submitter": { "id": 471, "url": "https://patches.dpdk.org/api/people/471/?format=api", "name": "Nipun Gupta", "email": "nipun.gupta@nxp.com" }, "delegate": { "id": 319, "url": "https://patches.dpdk.org/api/users/319/?format=api", "username": "fyigit", "first_name": "Ferruh", "last_name": "Yigit", "email": "ferruh.yigit@amd.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20201009131331.5897-3-nipun.gupta@nxp.com/mbox/", "series": [ { "id": 12826, "url": "https://patches.dpdk.org/api/series/12826/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12826", "date": "2020-10-09T13:13:29", "name": "[1/3,v3] ethdev: add rx offload to drop error packets", "version": 3, "mbox": "https://patches.dpdk.org/series/12826/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/80168/comments/", "check": "warning", "checks": "https://patches.dpdk.org/api/patches/80168/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 D7FF1A04BC;\n\tFri, 9 Oct 2020 15:14:21 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 124731D60B;\n\tFri, 9 Oct 2020 15:13:51 +0200 (CEST)", "from inva020.nxp.com (inva020.nxp.com [92.121.34.13])\n by dpdk.org (Postfix) with ESMTP id 04EB71D605\n for <dev@dpdk.org>; Fri, 9 Oct 2020 15:13:50 +0200 (CEST)", "from inva020.nxp.com (localhost [127.0.0.1])\n by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id CD6E21A04B5;\n Fri, 9 Oct 2020 15:13:48 +0200 (CEST)", "from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com\n [165.114.16.14])\n by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 35E521A049E;\n Fri, 9 Oct 2020 15:13:44 +0200 (CEST)", "from lsv03273.swis.in-blr01.nxp.com (lsv03273.swis.in-blr01.nxp.com\n [92.120.147.113])\n by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id CE52E4030D;\n Fri, 9 Oct 2020 15:13:38 +0200 (CEST)" ], "From": "nipun.gupta@nxp.com", "To": "dev@dpdk.org", "Cc": "thomas@monjalon.net, ferruh.yigit@intel.com, arybchenko@solarflare.com,\n hemant.agrawal@nxp.com, sachin.saxena@nxp.com, rohit.raj@nxp.com,\n jerinjacobk@gmail.com, stephen@networkplumber.org, asafp@nvidia.com,\n Nipun Gupta <nipun.gupta@nxp.com>", "Date": "Fri, 9 Oct 2020 18:43:31 +0530", "Message-Id": "<20201009131331.5897-3-nipun.gupta@nxp.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20201009131331.5897-1-nipun.gupta@nxp.com>", "References": "<20200831075333.10135-1-nipun.gupta@nxp.com>\n <20201009131331.5897-1-nipun.gupta@nxp.com>", "X-Virus-Scanned": "ClamAV using ClamSMTP", "Subject": "[dpdk-dev] [PATCH 3/3 v3] app/testpmd: support hardware offload to\n\tdrop error packets", "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: Nipun Gupta <nipun.gupta@nxp.com>\n\nWith DEV_RX_OFFLOAD_ERR_PKT_DROP now defined as an offload\ncapability, and separate DEV_RX_ERR_PKT_DROP_OFFLOAD_ALL capability\nto drop all error packets in hardware, testpmd showcases this\nwith a new added configuration option 'enable-hw-drop-err-all'.\n\nSigned-off-by: Nipun Gupta <nipun.gupta@nxp.com>\n---\n app/test-pmd/parameters.c | 7 +++++++\n app/test-pmd/testpmd.c | 8 ++++++++\n app/test-pmd/testpmd.h | 1 +\n doc/guides/testpmd_app_ug/run_app.rst | 4 ++++\n 4 files changed, 20 insertions(+)", "diff": "diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c\nindex 1ead59579..508612426 100644\n--- a/app/test-pmd/parameters.c\n+++ b/app/test-pmd/parameters.c\n@@ -142,6 +142,7 @@ usage(char* progname)\n \tprintf(\" --enable-hw-vlan-strip: enable hardware vlan strip.\\n\");\n \tprintf(\" --enable-hw-vlan-extend: enable hardware vlan extend.\\n\");\n \tprintf(\" --enable-hw-qinq-strip: enable hardware qinq strip.\\n\");\n+\tprintf(\" --enable-hw-drop-err-all: enable hardware packet drop for all error packets.\\n\");\n \tprintf(\" --enable-drop-en: enable per queue packet drop.\\n\");\n \tprintf(\" --disable-rss: disable rss.\\n\");\n \tprintf(\" --port-topology=<paired|chained|loop>: set port topology (paired \"\n@@ -631,6 +632,7 @@ launch_args_parse(int argc, char** argv)\n \t\t{ \"enable-hw-vlan-strip\", 0, 0, 0 },\n \t\t{ \"enable-hw-vlan-extend\", 0, 0, 0 },\n \t\t{ \"enable-hw-qinq-strip\", 0, 0, 0 },\n+\t\t{ \"enable-hw-drop-err-all\", 0, 0, 0 },\n \t\t{ \"enable-drop-en\", 0, 0, 0 },\n \t\t{ \"disable-rss\", 0, 0, 0 },\n \t\t{ \"port-topology\", 1, 0, 0 },\n@@ -1283,6 +1285,11 @@ launch_args_parse(int argc, char** argv)\n \t\t\t\trmv_interrupt = 0;\n \t\t\tif (!strcmp(lgopts[opt_idx].name, \"flow-isolate-all\"))\n \t\t\t\tflow_isolate_all = 1;\n+\t\t\tif (!strcmp(lgopts[opt_idx].name,\n+\t\t\t\t\t\"enable-hw-drop-err-all\")) {\n+\t\t\t\trx_err_pkt_drop_all = 1;\n+\t\t\t}\n+\n \t\t\tif (!strcmp(lgopts[opt_idx].name, \"tx-offloads\")) {\n \t\t\t\tchar *end = NULL;\n \t\t\t\tn = strtoull(optarg, &end, 16);\ndiff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex ccba71c07..c9e7397e6 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -359,6 +359,11 @@ uint8_t lsc_interrupt = 1; /* enabled by default */\n */\n uint8_t rmv_interrupt = 1; /* enabled by default */\n \n+/*\n+ * Drop all RX error packets on HW itself.\n+ */\n+uint8_t rx_err_pkt_drop_all = 0; /* disabled by default */\n+\n uint8_t hot_plug = 0; /**< hotplug disabled by default. */\n \n /* After attach, port setup is called on event or by iterator */\n@@ -3359,6 +3364,9 @@ init_port_config(void)\n \t\t (rte_eth_devices[pid].data->dev_flags &\n \t\t RTE_ETH_DEV_INTR_RMV))\n \t\t\tport->dev_conf.intr_conf.rmv = 1;\n+\n+\t\tif (rx_err_pkt_drop_all)\n+\t\t\tport->dev_conf.err_pkt_drop_conf.all = 1;\n \t}\n }\n \ndiff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex c7e7e41a9..eab154ed4 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -314,6 +314,7 @@ extern uint8_t no_device_start; /**<set by \"--disable-device-start\" parameter */\n extern volatile int test_done; /* stop packet forwarding when set to 1. */\n extern uint8_t lsc_interrupt; /**< disabled by \"--no-lsc-interrupt\" parameter */\n extern uint8_t rmv_interrupt; /**< disabled by \"--no-rmv-interrupt\" parameter */\n+extern uint8_t rx_err_pkt_drop_all; /**< enabled by \"--enable-hw-drop-err-all\" parameter */\n extern uint32_t event_print_mask;\n /**< set by \"--print-event xxxx\" and \"--mask-event xxxx parameters */\n extern bool setup_on_probe_event; /**< disabled by port setup-on iterator */\ndiff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst\nindex e2539f693..20f2f8083 100644\n--- a/doc/guides/testpmd_app_ug/run_app.rst\n+++ b/doc/guides/testpmd_app_ug/run_app.rst\n@@ -213,6 +213,10 @@ The command line options are:\n \n Enable hardware QINQ strip.\n \n+* ``--enable-hw-drop-err-all``\n+\n+ Enable hardware packet drop for any error packets\n+\n * ``--enable-drop-en``\n \n Enable per-queue packet drop for packets with no descriptors.\n", "prefixes": [ "3/3", "v3" ] }{ "id": 80168, "url": "