From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 89D3BA2EEB for ; Fri, 13 Sep 2019 14:14:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5D7141F02F; Fri, 13 Sep 2019 14:14:31 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 2F0B21F024 for ; Fri, 13 Sep 2019 14:14:30 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x8DC5xmw021853; Fri, 13 Sep 2019 05:14:28 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=pfpt0818; bh=0yWFUsly8AFRkX0ShGsLbQ/VYSUWX6h857l50d+hAbg=; b=vv0oyOmlIe8K7OlMKVeIHT2ogfgGGyo3yAysGbVNOkcdXOcb9hYgTfBbQ1gI6qle1aFo +K+PykhDCXArHCmPFc06tol5rQrYfd2OeEi6TrmPCoRLCzs82C9MuEvxH2r8nWnc1/PB 1yifxl7juwSp2m3snlrOhgLg15eS5AStYO1kGJNjXTlyf7Atr5ZDN9IvCJz/3Ox+4c4L mUiWA4uwb+iQwdOcWpPHauotfG487EMzU0zKAB2GEak+BrB3/e+nePeikNf/oRl+sV21 ZrgAViyFvq6Gisl0lQnKMlRcqhAAA+2+aDUdXO9m5M68b/bHmFi/snKSm4/qwf2Q61gN og== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2uytdfkhf3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 13 Sep 2019 05:14:28 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 13 Sep 2019 05:14:26 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Fri, 13 Sep 2019 05:14:26 -0700 Received: from dell-e5540.caveonetworks.com (unknown [10.29.16.81]) by maili.marvell.com (Postfix) with ESMTP id 3D1383F703F; Fri, 13 Sep 2019 05:14:23 -0700 (PDT) From: To: CC: , , Vivek Sharma Date: Fri, 13 Sep 2019 17:44:20 +0530 Message-ID: <1568376860-9502-1-git-send-email-viveksharma@marvell.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.70,1.0.8 definitions=2019-09-13_06:2019-09-11,2019-09-13 signatures=0 Subject: [dpdk-dev] [PATCH] app/testpmd: introduce QinQ and Rx offloads argument 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: Vivek Sharma Introduce boot time argument for configuring QinQ strip offload and for configuring all rx offloads.Fix port info display to distinguish between qinq strip and extend offloads. Signed-off-by: Vivek Sharma --- app/test-pmd/config.c | 9 +++++++-- app/test-pmd/parameters.c | 22 +++++++++++++++++++++- doc/guides/testpmd_app_ug/run_app.rst | 9 +++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 1a5a5c1..42ae25e 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -530,9 +530,14 @@ port_infos_display(portid_t port_id) printf(" filter off \n"); if (vlan_offload & ETH_VLAN_EXTEND_OFFLOAD) - printf(" qinq(extend) on \n"); + printf(" extend on\n"); else - printf(" qinq(extend) off \n"); + printf(" extend off\n"); + + if (vlan_offload & ETH_QINQ_STRIP_OFFLOAD) + printf(" qinq strip on\n"); + else + printf(" qinq strip off\n"); } if (dev_info.hash_key_size > 0) diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 5244872..6f1870a 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -68,7 +68,8 @@ usage(char* progname) "--rss-ip | --rss-udp | " "--rxpt= | --rxht= | --rxwt= | --rxfreet= | " "--txpt= | --txht= | --txwt= | --txfreet= | " - "--txrst= | --tx-offloads= | --vxlan-gpe-port= ]\n", + "--txrst= | --tx-offloads= | | --rx-offloads= | " + "--vxlan-gpe-port= ]\n", progname); #ifdef RTE_LIBRTE_CMDLINE printf(" --interactive: run in interactive mode.\n"); @@ -135,6 +136,7 @@ usage(char* progname) printf(" --enable-hw-vlan-filter: enable hardware vlan filter.\n"); 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-drop-en: enable per queue packet drop.\n"); printf(" --disable-rss: disable rss.\n"); printf(" --port-topology=N: set port topology (N: paired (default) or " @@ -186,6 +188,7 @@ usage(char* progname) printf(" --flow-isolate-all: " "requests flow API isolated mode on all ports at initialization time.\n"); printf(" --tx-offloads=0xXXXXXXXX: hexadecimal bitmask of TX queue offloads\n"); + printf(" --rx-offloads=0xXXXXXXXX: hexadecimal bitmask of RX queue offloads\n"); printf(" --hot-plug: enable hot plug for device.\n"); printf(" --vxlan-gpe-port=N: UPD port of tunnel VXLAN-GPE\n"); printf(" --mlockall: lock all memory\n"); @@ -607,6 +610,7 @@ launch_args_parse(int argc, char** argv) { "enable-hw-vlan-filter", 0, 0, 0 }, { "enable-hw-vlan-strip", 0, 0, 0 }, { "enable-hw-vlan-extend", 0, 0, 0 }, + { "enable-hw-qinq-strip", 0, 0, 0 }, { "enable-drop-en", 0, 0, 0 }, { "disable-rss", 0, 0, 0 }, { "port-topology", 1, 0, 0 }, @@ -641,6 +645,7 @@ launch_args_parse(int argc, char** argv) { "print-event", 1, 0, 0 }, { "mask-event", 1, 0, 0 }, { "tx-offloads", 1, 0, 0 }, + { "rx-offloads", 1, 0, 0 }, { "hot-plug", 0, 0, 0 }, { "vxlan-gpe-port", 1, 0, 0 }, { "mlockall", 0, 0, 0 }, @@ -994,6 +999,10 @@ launch_args_parse(int argc, char** argv) "enable-hw-vlan-extend")) rx_offloads |= DEV_RX_OFFLOAD_VLAN_EXTEND; + if (!strcmp(lgopts[opt_idx].name, + "enable-hw-qinq-strip")) + rx_offloads |= DEV_RX_OFFLOAD_QINQ_STRIP; + if (!strcmp(lgopts[opt_idx].name, "enable-drop-en")) rx_drop_en = 1; @@ -1215,6 +1224,17 @@ launch_args_parse(int argc, char** argv) rte_exit(EXIT_FAILURE, "tx-offloads must be >= 0\n"); } + + if (!strcmp(lgopts[opt_idx].name, "rx-offloads")) { + char *end = NULL; + n = strtoull(optarg, &end, 16); + if (n >= 0) + rx_offloads = (uint64_t)n; + else + rte_exit(EXIT_FAILURE, + "rx-offloads must be >= 0\n"); + } + if (!strcmp(lgopts[opt_idx].name, "vxlan-gpe-port")) { n = atoi(optarg); if (n >= 0) diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst index d0d89b3..ef677ba 100644 --- a/doc/guides/testpmd_app_ug/run_app.rst +++ b/doc/guides/testpmd_app_ug/run_app.rst @@ -198,6 +198,10 @@ The command line options are: Enable hardware VLAN extend. +* ``--enable-hw-qinq-strip`` + + Enable hardware QINQ strip. + * ``--enable-drop-en`` Enable per-queue packet drop for packets with no descriptors. @@ -385,6 +389,11 @@ The command line options are: Set the hexadecimal bitmask of TX queue offloads. The default value is 0. +* ``--rx-offloads=0xXXXXXXXX`` + + Set the hexadecimal bitmask of RX queue offloads. + The default value is 0. + * ``--hot-plug`` Enable device event monitor mechanism for hotplug. -- 2.7.4