From patchwork Fri Oct 9 13:13:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nipun Gupta X-Patchwork-Id: 317538 Delivered-To: patch@linaro.org Received: by 2002:a92:d603:0:0:0:0:0 with SMTP id w3csp2305604ilm; Fri, 9 Oct 2020 06:14:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzd3Z64T07OSLF0mMIZaxy0TfUO19FHelgEt3sDpgkeKEPz95SXuPrHPkSuJoc6Rjgw+wcp X-Received: by 2002:a7b:c2a9:: with SMTP id c9mr14137697wmk.87.1602249266496; Fri, 09 Oct 2020 06:14:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602249266; cv=none; d=google.com; s=arc-20160816; b=V8AIQvhBoOgtJdGBpQUlmF+PvGgeq8ayLqUqwjev7FqYoEaD9rA1/PlT3RB7apfuM6 FG3SJ6XSaKxA66D2vC2kAUREGBAC7nxP7jBuHB8lmnvG9Dgocc0NJSirr22UsNlT9Y5M oxulDY9C8fOkSx95TrLrsbkoL5FdiF49pXR/s7f1OJeBFxDdPNp0BTA7yghR5HDfm2yE Oj9pkpT95GGMOe5VmxutAMpVBItppn7Hh3fZ+xz2LGWyZ4sAq5x7tZVA6RxcheCLKMA9 cOxMiZ8iAWIx219sZwfUzQKhiA6/wZt65u8nLXdr2hVKgjvDKvMFO5RmFw8pSfYtDbmM B3vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:references:in-reply-to :message-id:date:cc:to:from; bh=TR7z3CDzLXrai88R7clwiIIj2v+UXip2uV6s2TIgSrE=; b=PKIkSFvLvZ2npOeOmEnxhR9bdlK5sfvPLP0XXiK7neYhSd0ZhTHd9wkM/rEAC9h4jC M0fHdmLWyBoz2jGoBJnQpvU4wnmoe2ugg4WWgrxDpavYwI2J3nac6E7rwAFpar38H8e4 xchLUjQs9ws06mgj3LI/Cyd8bLb4EdG/6SWQwgE9uor3WBeP10Yf0gMu+K7CC1lv9XdG WSAdyR4j8ZafVvp83x5PaV3uH9sDhtplDX0rdO/Yx/LktfLDgt8hdRBUQS1QveU7+gK3 yHsgR4F5lW1BRiKuDDx6rGu+3ss8sbbdwN9XQp3ZIlAzyCdIQMGGjVQl+sXHShpOavVs E/Hg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from dpdk.org (dpdk.org. [92.243.14.124]) by mx.google.com with ESMTP id dc10si5888376edb.26.2020.10.09.06.14.26; Fri, 09 Oct 2020 06:14:26 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) client-ip=92.243.14.124; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 124731D60B; Fri, 9 Oct 2020 15:13:51 +0200 (CEST) Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by dpdk.org (Postfix) with ESMTP id 04EB71D605 for ; Fri, 9 Oct 2020 15:13:50 +0200 (CEST) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id CD6E21A04B5; Fri, 9 Oct 2020 15:13:48 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 35E521A049E; Fri, 9 Oct 2020 15:13:44 +0200 (CEST) Received: from lsv03273.swis.in-blr01.nxp.com (lsv03273.swis.in-blr01.nxp.com [92.120.147.113]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id CE52E4030D; 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, hemant.agrawal@nxp.com, sachin.saxena@nxp.com, rohit.raj@nxp.com, jerinjacobk@gmail.com, stephen@networkplumber.org, asafp@nvidia.com, Nipun Gupta 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> <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 drop error packets X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Nipun Gupta With DEV_RX_OFFLOAD_ERR_PKT_DROP now defined as an offload capability, and separate DEV_RX_ERR_PKT_DROP_OFFLOAD_ALL capability to drop all error packets in hardware, testpmd showcases this with a new added configuration option 'enable-hw-drop-err-all'. Signed-off-by: Nipun Gupta --- app/test-pmd/parameters.c | 7 +++++++ app/test-pmd/testpmd.c | 8 ++++++++ app/test-pmd/testpmd.h | 1 + doc/guides/testpmd_app_ug/run_app.rst | 4 ++++ 4 files changed, 20 insertions(+) -- 2.17.1 Reviewed-By: Asaf Penso diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 1ead59579..508612426 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -142,6 +142,7 @@ usage(char* progname) printf(" --enable-hw-vlan-strip: enable hardware vlan strip.\n"); printf(" --enable-hw-vlan-extend: enable hardware vlan extend.\n"); printf(" --enable-hw-qinq-strip: enable hardware qinq strip.\n"); + printf(" --enable-hw-drop-err-all: enable hardware packet drop for all error packets.\n"); printf(" --enable-drop-en: enable per queue packet drop.\n"); printf(" --disable-rss: disable rss.\n"); printf(" --port-topology=: set port topology (paired " @@ -631,6 +632,7 @@ launch_args_parse(int argc, char** argv) { "enable-hw-vlan-strip", 0, 0, 0 }, { "enable-hw-vlan-extend", 0, 0, 0 }, { "enable-hw-qinq-strip", 0, 0, 0 }, + { "enable-hw-drop-err-all", 0, 0, 0 }, { "enable-drop-en", 0, 0, 0 }, { "disable-rss", 0, 0, 0 }, { "port-topology", 1, 0, 0 }, @@ -1283,6 +1285,11 @@ launch_args_parse(int argc, char** argv) rmv_interrupt = 0; if (!strcmp(lgopts[opt_idx].name, "flow-isolate-all")) flow_isolate_all = 1; + if (!strcmp(lgopts[opt_idx].name, + "enable-hw-drop-err-all")) { + rx_err_pkt_drop_all = 1; + } + if (!strcmp(lgopts[opt_idx].name, "tx-offloads")) { char *end = NULL; n = strtoull(optarg, &end, 16); diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index ccba71c07..c9e7397e6 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -359,6 +359,11 @@ uint8_t lsc_interrupt = 1; /* enabled by default */ */ uint8_t rmv_interrupt = 1; /* enabled by default */ +/* + * Drop all RX error packets on HW itself. + */ +uint8_t rx_err_pkt_drop_all = 0; /* disabled by default */ + uint8_t hot_plug = 0; /**< hotplug disabled by default. */ /* After attach, port setup is called on event or by iterator */ @@ -3359,6 +3364,9 @@ init_port_config(void) (rte_eth_devices[pid].data->dev_flags & RTE_ETH_DEV_INTR_RMV)) port->dev_conf.intr_conf.rmv = 1; + + if (rx_err_pkt_drop_all) + port->dev_conf.err_pkt_drop_conf.all = 1; } } diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index c7e7e41a9..eab154ed4 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -314,6 +314,7 @@ extern uint8_t no_device_start; /**