From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0060.outbound.protection.outlook.com [104.47.36.60]) by dpdk.org (Postfix) with ESMTP id 3985220F for ; Fri, 24 Nov 2017 21:36:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ZzdbDXRbK+BSx+xbm4Cn+Zbi+wYmidvdKNtcIXyf6tE=; b=nZK2pDlDXarhPexHmpZ5TJAuvTc1UYf/OTp70GMAqZvXbNjMiuEELRmz6bGotQ+jgXyu4GqV0t0JNGgdX64tSQK3B2K1lXth77vpskJ0N4EIrA8oK0c7+G7JijST+uiCodAQmaHwXhNu3nTfLHmYwe8QTVTvEAqE0/PUP8pyQ9U= Received: from cavium.com (198.186.0.2) by MWHPR0701MB3833.namprd07.prod.outlook.com (2603:10b6:301:7f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Fri, 24 Nov 2017 20:36:34 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Harish Patil , Dept-EngDPDKDev@cavium.com Date: Fri, 24 Nov 2017 12:35:42 -0800 Message-Id: <1511555745-13793-3-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1511555745-13793-1-git-send-email-rasesh.mody@cavium.com> References: <1511555745-13793-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: DM5PR2001CA0004.namprd20.prod.outlook.com (2603:10b6:4:16::14) To MWHPR0701MB3833.namprd07.prod.outlook.com (2603:10b6:301:7f::26) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199); SRVR:MWHPR0701MB3833; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 3:/r0K62HDueWpmdvPIQ3SwvBocXbCfYeOOIS+0hRoTN0w814AgZPPlNc4W8DVZgwmdks9OVHWkE47UeHHs2N+44j923jyWUJkXhcu1gBiOBTZUWfEspo6J9hAKDvNF8YXfofQ8vpQ6eZBNtY0ldEsO3KunwNL3qDwX1xpmsjWklylcGIm/x/ujxIPHypVvRQMIZn6fljzq8q9xJhE5MCKddSd8jstPP2QYrSAkBpfl179374nru6fwLGepR158rPW; 25:10U12+Ul8T9AuGyXCC5e2eHgI6a6s6HCcQWzi64ydr0i8a/SlVd4RfbAizoDL7+tTtn7S/BzMolVNhJNADStou5UTnNPYPxP3i5AEL+3Mi+8lOHmjiQSQ6X2ZS3TvNxzgnGuQFoQEUbaA2cIxyUnVmsoBPbvDN7FHl7iJagAoT/t/2CCkLrI6/dyYVSkjuy74fpzvURtg59jBBj1sT5JEujow1Rn4XQksbx+qnNktTvoKcWnOZSOFY7PPy3qiu9jIiLA8WKHkwIWGOVYKIuHXf6Cmo366Lf0M50OoerseyPqaKbvTXGE86hvJp4qo/o3aEGoXtwuWovHI4rjdYWfEQ==; 31:GDTNeo7e5BRwbMNB97oOfsrWs/6cbJC4FkqNMWMzC2UYdWX2CeCxgi5371M1HWYhj0thK4JQZbMxKzeaTCp7NWCTDAn2FmBj/FW4ncJxK5ziht2mm47QBm4mYBsav2UQVuoILeR81ydt0GznsRXCJ+fgsz4gaVzY82Naa3Wyj89K58qMkGiMOrFh6PsNUo8LJCJS58g5jFlfMR6XFWdGnVkQRxbgRRejdE9P2Y+R9WA= X-MS-TrafficTypeDiagnostic: MWHPR0701MB3833: X-MS-Office365-Filtering-Correlation-Id: a4f7b189-44af-4e31-984f-08d5337b0e17 X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 20:D5e5ZZT/vB/E78tY4jwtS3p6oV46r+8JlC/bQ7RAPNsSVPNgO/k1X+1wBUEjgUsJ81CFi/Yhk00quYdaCffhmXYe40CjCzJ3edoUny6ErmJmP2ILn2z3qbFottK1wkZs0azLN0N0gRHEs69pbSRaTpy+1ci8x0VES/VGsSGF3UKSg403WR3c2aRBAoUXuuj6UU6Av3ZWd1QOePWnTH0YJSjIZOIHZxHQbcgIstDF50qWCOVSn8l3H451xHothhL/UMdV/K2lqnlBywp9KvLVneMLGZoybEhTzFbTLm0YC1gG8x3Zj6jCSPqIB49fdi0+sCNhHEYhG6NKxtEBeFEkOLG0HyQYorRvLF6KPAzxvNA7D/Jq6fBQJrCeUDlDcoHuNm5hztUoEhIgyzjr1hWc5czUjwo07Vf/veS+v1eIXkiFL9OPoJwYyZoBJr2f9HfF3TfwjMNroFdD0OlICXADsbn6tfnt+6t3aqUkQ0bWKpIkztItWGev7KGOmrGsJze/; 4:2MMu7g/8WkUIwI8u/XOGS6gKRsZ/83ls3qMoaLvIG7SHWpubRYIhUxRvrvDAcjwyVIDZMN4IR9it1/rp/+H7/RxQtsDL2Ivp2KH0K5XNJRFxE8gjEJdXh/0BgljxAU2kJmbyRlcvJRTb8gmNwxkyjQXLhBUZi1JylsyEt8bwh2Vd2PsuOFe4yGUEPbe+1K5BRyC8C+k7pKlrsU4Ub4xOLiqpTZoZBm3Rief2TvRNlhzhRQRie8s4sQEFp31gxVSp5StmU+2gZbDnMf+htzV7kg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(3231022)(93006095)(93001095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123562025)(20161123558100)(20161123555025)(6072148)(201708071742011); SRVR:MWHPR0701MB3833; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR0701MB3833; X-Forefront-PRVS: 05015EB482 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(366004)(199003)(189002)(21086003)(305945005)(97736004)(7736002)(50986999)(81166006)(76176999)(81156014)(2351001)(50226002)(105586002)(8676002)(33646002)(2361001)(101416001)(66066001)(107886003)(7696005)(36756003)(106356001)(68736007)(47776003)(16586007)(316002)(6116002)(3846002)(5660300001)(2906002)(48376002)(50466002)(52116002)(69596002)(8936002)(4720700003)(4326008)(6666003)(72206003)(2950100002)(6916009)(53936002)(478600001)(189998001)(16526018)(25786009)(51416003)(86362001)(55016002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR0701MB3833; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR0701MB3833; 23:W3jVYlfeZMf2MxWLdAoPseszs/OAk2OuKESoyYl?= =?us-ascii?Q?SsYWQ6Ufpt62TBelkCrd+KUQulVaz30DUwXShF4vHzuTGPyf5oty6bsyq+HC?= =?us-ascii?Q?FfV0RjITKn3LUPeCMZb4Ny7QXooSFRFhTxIXouDkjVUwjGYISVyAtbb1Pewd?= =?us-ascii?Q?DtPRnkUn/8kjXqpRxyxkDsV7/Faami4DFLBUqkACQNHteYihRIc/m8bEjo2y?= =?us-ascii?Q?ojRsX64IfZk4rTrWqsEdH+VB1DcEGp5BQ9Yk5EMYlUkt3RNQk5saZZG77zos?= =?us-ascii?Q?tv4XsrKkgAtq2K4jFCd31QKb2BbfRndEsYvUNVn6/N05L/lBUypGNKnufRQk?= =?us-ascii?Q?vOR20w55oFbY2CIrzyJhvkxYFwKMiz8wyCdEDeFE8BYhOg6gWOSdgnHOqW/6?= =?us-ascii?Q?Mahcbw1CdTqfD+anDTIhI4eiaoVuNQgTDrwZZJW64a7NoLkd+yy0BMco5vj+?= =?us-ascii?Q?5QGu6EQAYqQHMbp8QvHbLgivtKobRsMcBBycVmRnJ7eaqLyYHAkmk0Vt+G+v?= =?us-ascii?Q?haCwKKpK+CxNSvomQ5mRM9SqX2ZUnjxf91Vq4bq3JSsT0oo3dKi4OO4VsBc9?= =?us-ascii?Q?mUzLC6TMLKZHswBdNuMcGsamu/MrSeldh5JbMErdBVXoSBnLLiZxEQ7kh3b+?= =?us-ascii?Q?qBVnC5kCd7nb8KqNvrMFJM0XSKnQLjNStejOyCHqdxK2qmxV8twU6D8L+Sha?= =?us-ascii?Q?OTIyzjBjd15xYGOFpmDJvqWkqkJY5H8AFUOfyAgQAvu4usrD9Rbt+3JmtoCP?= =?us-ascii?Q?lhP8rmtCZixm9XWww1/b9iT4km/ISWMeCF3zhRmB7uTxjPtZBxl2NB9BWuoS?= =?us-ascii?Q?ATNIb37ynZKh5G5DYBGStEfEHqEMH0utLzJsl5SdUWZXLaA+xPbGL1aYbMU5?= =?us-ascii?Q?3lGQImqpvV58XagAi/d1wu0qA/+BS9REkttWXtiLR6gPnhB6A7rInHIKVbpP?= =?us-ascii?Q?8Ht6YTRp8ZEu4SQrHv9iEDm/6jOEZVJzBU+oy4bvSce+e29y1Vc4SjgMOX/j?= =?us-ascii?Q?4SOw+OGv0IcNaa6L0D+I/B/pttha9CfMKY+uTDqD1YoyNVHN8uA1feh1Ykd3?= =?us-ascii?Q?lcbxSA3Dz0ZFGBoWAVrtMVTOckdD1DX48hrkxBvkFfP/6OwxScNdooIAXFdl?= =?us-ascii?Q?YSEzBxX3mGHVV9GNOdfC0TyI+Rsvm+vyQlTbZHwFyCb8nb7XgKUJW848BJ9X?= =?us-ascii?Q?TPLwC0RpPA5JvcMnRbJPQoXiUmy0kbJefEZZ8Q6CKrWyFnL0KR32gLLuv4Q?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 6:+hOaJbGCZzcuTwvt7h6qyxEEZBSAXBkd96jU+r4KHY2L0dD3E9fQnYwXBN/KboZLiSBv1hxGLSHu62mUZ4+Uc7HpYYOaH6o2rHHyuUcj/Vi5KfmKvzvCqfs/DC3nrsRoidbPrH3RitbiZqtLltX29GYWBkoVDfJHknhKMUWSqFTH1nPk8Bxu3L6+Yi8J3LZwEC4+ZPbk2MJ8Yk90FHIYlgx/pmU8e6RXCDV/forcv66YvBVjxxDz22fPzjv2P/Mq9lwG3p7XwchJ5r+1wSStWi3czWvhj5XAGgXdXJdytmKAN+KL5wwhj/CJQ7OyTTrbhvtZ4bS2lc1b/EwxhJ4SfjTf3N7JROr0U3DMe0LRsfc=; 5:jzQnrH4z821YBUokbdJJ+5vmiDLKeun7NvcQ6J/W9B2goX4+bdKkA4QQtP8yZV4GMWa2wZh54d6H9ydcB9F/xE9AtNh7U5k0aAAw8pQ0RquLMy3bSmxAdNL+XNSsjOUSunfoXyNS3ZhrJx0F5GlrTbIVNOysqTyCQPlhhU57mRc=; 24:9BNqVV+6GwRnTTtepV4vGHU8l/bzndXUj/hrp64k51CP89Zxa/Qj1aHTv4yGPSVfksO1pTQj9I0p/TjCAz5oYo7P6rWGPm6AbmH8/mokS1g=; 7:wnOB/yiAD+A1QYT+kTscU1wmW9mXmK41zSuXIfI/GQyaV6Bh8fHGqXDUbH5KzHBOO5i+foPSAYuKX6T4696niXJlTqtq3v8lqD2RY04fx+KVo5OwUDZUgXlVtd4vnmYgTSaCdiaAbaqp2ZHgVLR0aDjhjFDsqSj3w4SOd7/BB2vmB+hYtkbtM2vBCqMB8kegyGRNdPHft1WvrDRr+kxsYRdd4OcEA9KdKm7IFce1nkj5I2MzXu0daUeI7lOvIam2 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2017 20:36:34.8995 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a4f7b189-44af-4e31-984f-08d5337b0e17 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0701MB3833 Subject: [dpdk-dev] [PATCH 2/5] examples/kni: add optional parameter to enable LRO 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: , X-List-Received-Date: Fri, 24 Nov 2017 20:36:36 -0000 From: Harish Patil Add an optional cmdline parameter to enable LRO. This is useful to test LRO feature by being able to run linux utils like iperf over KNI interface which generates consistent packet aggregations. Signed-off-by: Harish Patil --- examples/kni/main.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/examples/kni/main.c b/examples/kni/main.c index 3f17385..1cedaff 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -143,6 +143,9 @@ struct kni_port_params { /* Ports set in promiscuous mode off by default. */ static int promiscuous_on = 0; +/* Enable LRO offload, off by default. */ +static int enable_lro = 0; + /* Structure type for recording kni interface specific stats */ struct kni_interface_stats { /* number of pkts received from NIC, and sent to KNI */ @@ -360,11 +363,12 @@ struct kni_interface_stats { static void print_usage(const char *prgname) { - RTE_LOG(INFO, APP, "\nUsage: %s [EAL options] -- -p PORTMASK -P " + RTE_LOG(INFO, APP, "\nUsage: %s [EAL options] -- -p PORTMASK -P -l " "[--config (port,lcore_rx,lcore_tx,lcore_kthread...)" "[,(port,lcore_rx,lcore_tx,lcore_kthread...)]]\n" " -p PORTMASK: hex bitmask of ports to use\n" " -P : enable promiscuous mode\n" + " -l : enable LRO\n" " --config (port,lcore_rx,lcore_tx,lcore_kthread...): " "port and lcore configurations\n", prgname); @@ -545,7 +549,7 @@ struct kni_interface_stats { opterr = 0; /* Parse command line */ - while ((opt = getopt_long(argc, argv, "p:P", longopts, + while ((opt = getopt_long(argc, argv, "p:Pl", longopts, &longindex)) != EOF) { switch (opt) { case 'p': @@ -554,6 +558,9 @@ struct kni_interface_stats { case 'P': promiscuous_on = 1; break; + case 'l': + enable_lro = 1; + break; case 0: if (!strncmp(longopts[longindex].name, CMDLINE_OPT_CONFIG, @@ -611,6 +618,10 @@ struct kni_interface_stats { /* Initialise device and RX/TX queues */ RTE_LOG(INFO, APP, "Initialising port %u ...\n", (unsigned)port); fflush(stdout); + + if (enable_lro) + port_conf.rxmode.enable_lro = 1; + ret = rte_eth_dev_configure(port, 1, 1, &port_conf); if (ret < 0) rte_exit(EXIT_FAILURE, "Could not configure port%u (%d)\n", -- 1.7.10.3