From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0043.outbound.protection.outlook.com [104.47.32.43]) by dpdk.org (Postfix) with ESMTP id 1FF205692 for ; Sun, 4 Sep 2016 12:23:24 +0200 (CEST) Received: from BN6PR03CA0033.namprd03.prod.outlook.com (10.175.124.19) by SN1PR0301MB2013.namprd03.prod.outlook.com (10.163.225.30) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.587.13; Sun, 4 Sep 2016 10:23:22 +0000 Received: from BY2FFO11FD033.protection.gbl (2a01:111:f400:7c0c::195) by BN6PR03CA0033.outlook.office365.com (2603:10b6:404:10c::19) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.599.9 via Frontend Transport; Sun, 4 Sep 2016 10:23:22 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD033.mail.protection.outlook.com (10.1.14.218) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.587.6 via Frontend Transport; Sun, 4 Sep 2016 10:23:22 +0000 Received: from BuildMachinepc.ap.freescale.net (BuildMachinepc.ap.freescale.net [10.232.133.79]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u84ANCDR024782; Sun, 4 Sep 2016 03:23:19 -0700 From: Pankaj Chauhan To: CC: , , , , Pankaj Chauhan Date: Mon, 5 Sep 2016 16:24:30 +0530 Message-ID: <1473072871-16108-3-git-send-email-pankaj.chauhan@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1473072871-16108-1-git-send-email-pankaj.chauhan@nxp.com> References: <1473072871-16108-1-git-send-email-pankaj.chauhan@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131174582021836270; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(36756003)(8666005)(229853001)(110136002)(33646002)(106466001)(356003)(105606002)(87936001)(8936002)(7846002)(97736004)(2351001)(81156014)(8676002)(48376002)(189998001)(50226002)(305945005)(11100500001)(81166006)(104016004)(68736007)(19580405001)(69596002)(50466002)(2906002)(4326007)(86362001)(5003940100001)(77096005)(2950100001)(626004)(85426001)(47776003)(5660300001)(19580395003)(50986999)(76176999)(586003)(92566002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0301MB2013; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD033; 1:CYApD/osGPQJi3N5SVbIykXnsw77Apo7qMlMQ+DyOP5IUX0n+sDYmb1aCXu1yXFZShNbr9SrAXqdB+MYVb/DJGNEMtjLiDSL0Q+ilRIrDwtVyU9uO+BNA9sO1XABokdVXPsZmwIRJkK3PBKIq6vkEgBlQ5N191Wqg40Z7/VrL0qyx1a+xQuznBCp2qASY3rIXgWdckzLwp0At9mVSE1i+O+VKq0HRF7l1323jnSC3aU7ykEzObwrg88N3bynxzQwitwPtcOAbPYTaH4SirILtwCxEy90sXpY3b5r7kDCkLdY9PhCwyACI3InhOMU2hpyFNmTVZ8RQUfZvF54EF4a7tTjKhZH7DMYzRBohc6EiWR8hFHBeigS477bSM6D9XUSqBSvTTs4OL+VHEV6RAzkgN6PfzNBEnfeWw30pxNAaFDTwXuR2zoIGbwlyIrx/6jcdf0+iJgTCDdFVeNt76a8v+4iCFCLSG0UI3aYmlOVg/yb2ROO298TEsjp7UaALVUzMKIj8uCx4qbii4iYrnMjnQHI4gcPi5rFQcxVtMYay7Tsluo3uCNzfQVk0MXv1P7D0Y41MRXGDoZJSQL445AyCBZwonOkMGllh55E38F0qMFThre1X3Hzq2DcK+yi8Vt06p5fU7EXX5XTOb6mICIMddVj12gVyJFbx/MNIcvSkgK2JMBgjigGjd9cjIrEvJAS8bVe6MVPCRFNk+zlW3fZMtX8Ts31FF/wofxXeGXILS1G3Aq/tFRuRAGym7mCernl6JHR5lC35Wahx0n/iB7VSw== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 62b42aa7-6814-45dc-6c8d-08d3d4ad7f6d X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2013; 2:xCW/+TyVA5axZ6F7iUAVEjXJ9N4+sXV9PMUhonSvL3CVMzmtSF8H5hXqagx8OT8BATQUpkEYx4Z9k5ElNIq0zIVXFfzn3utC0CHSsbMl18neS0WX9miNWoxR3jPNGtz8slGTRh8Xcopa8TQXKO4u2yEOujLR8QZ2BhpR9ZaPeoJO0TOnlkDxT076god5iS9j; 3:JTCNxk8ZBqZZyW4FipcTrYYJGTjPW8yXl5mQ6x2JXmnSMkpVUpz1ZS/lZ7LRQYNMV/K1fJbkUp2gPqpfHAdcdBBV7cFNbvB9Fu2iEdDE6tMtEeF3mo+xZX8Twg9v5Y50cpO9utuUei33riLAbIQ30JLcfBuMpYJIwrbTj6khJ4L/S0E5NLs+9TD+8p0QKL4DJwb+HdPj6heWXFi0OF5q0ugv0L34mM96LUo5cKk/0nM=; 25:wLDZljVH8icYxzAxjdTQYEFZsKtZZVv2pkrTShT71R+mJd9UU82oNF6T1EtFQcgkHO1OjT6HjsC9xcKr61AnUsaLi0MZPfKQ2inb1Wajo1YOUDrusgz4INQcAF1z0x5Oe8NWWTuz8FBtwQHod1ANx1J0COnVOMcIwZ2t/4t1l2YgRoVGjkIvfmfc91SE7DHJL70NazkmuaPYZbMWguHq1z3sDwXUKHAQ5uMXsmoYK4RfrTQfmiSHIYIQpmnXaeqVr751XaZzSK8OH/4MV8QTz7NTGtRFhgNx+zLL1mr8cln80nK6R/rxiLK/dudbiAiwjtR32Y8WGpyv+3mTpODt6kEkL0A34Kb73lrpAzWwaxB92PKLZOqR2gUsYFdTTb7D754H0JhnR2iA6AMc5CWzw4PhXHostCqXrU8mvMsEjW4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB2013; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2013; 31:oxKW5FxNbHuZ/gU/Life+HTaMKHTZBFIkNifyP/9g5jFMjD41Pd42ldV8JdKesyfa4r6+bRVBI1KuEc5VDGPRtLXnvuSGCHwThODm1kaoFtxS2HTTMgdfwc7CE+3YaX9N8WOa4zbqkn7SvzDPwGBKtog7NxdDAAs/WAa62sVSkILo297ixxmD4iJcgXa1HntEqOobpZw639KKiQQH8uFwCBv/dN3ExDbgGbmhB5TQsU=; 4:i2fuVu6A2CCfJIgnwExQJigxdwPuZRGxdQC2Rzy7jaqTttwNIi4bPjoX3u8ggARcX+/Vi0C1SK8Wak/DnE1v46/sKQnliiZMASZXpv+epQG+eirou65V4kYY3VtqsdBQEw9MyOehiak1tqUc+ueTdI4eLUGQrc9mzyh9J7ypdtcv9jAeob1TEEvlVVvSRTeU035+h96+NZXA8TPeyNu0X/TXEqgq6N7adZEq+n/MXIfcCz78z5H3r5JShdIKK1d/jsy8rYPBnThGUJoVOvO/DwO8J7ifSWHOGMkb87rRK7Nd2hvM2uvb9t3eT1qUJBGwbpTrWjChHYAgMJ8iXoXCkXNPlQ5c60qh9sEQyijS8tRPybNVyrFYWFIF/Hmydon8oQ9sPt2JEbO6DjThMge+nTX1KlCvGsIc8Vc8ZOn7l+RRw5PGjvpJ/V2W/nDqpUuaFdW7RPONyi9CMbjlfTs9cyv1NsXgXk7g3VZfeWQ9ePxbdriZ+XEuniu5bDPWF7eLV74IBaxS7HlilatsPT9vOVVfuoZVO+8G2fW3wUmt4I4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13018025)(13024025)(13023025)(13015025)(13017025)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:SN1PR0301MB2013; BCL:0; PCL:0; RULEID:(400006); SRVR:SN1PR0301MB2013; X-Forefront-PRVS: 00550ABE1F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0301MB2013; 23:xP1F4VWJXHaVwOdAmojoLfsiRUc0FYEadHaPZW3?= =?us-ascii?Q?DwExqmJKXrHtxujn0v3zUvQ7+3+U8mwlLGBvOBhOIV9XTBxYr0LFQ7AmIpr6?= =?us-ascii?Q?+fI/6qhk6zrOtXwqPsSXoAvBDaG0fAjEV9xYVVd/1ibnDnVEak1xQ0h7aabM?= =?us-ascii?Q?xdzMeLDrQxfCEzPWZu9qJmKbfvRzfGQeBKTAbcXs2BXXEWy2GvwGtoM1GhwR?= =?us-ascii?Q?oPN+nBGseL/J9/qAGalnXVDKQBBhnNWViEm+6Sw9oyZYWosey1/MdO3EXVOT?= =?us-ascii?Q?/MhTzUfE+yUtXqd0lXdJYh8wCInB6qMAjzlBr7dFT4tK5puf5+kaaQbvGLz3?= =?us-ascii?Q?WZI62OW9k08RCbQem5Myk63hQsEZntW4FBxDLJPd1Qr3ImUZNSuc1MT/aPQd?= =?us-ascii?Q?D4y+4rVP9cnkLzO+D0uLmYqPy+rNw97rNBIrYRDXnxX5XerPZ4m98iC6LGXu?= =?us-ascii?Q?sl0E//AnIW+DYqvzOaDGJXA6Vn/3IJa8YfcJTyV7V+p+9HF4/AlU8FjkUj5g?= =?us-ascii?Q?1qA9F5sqyPKdbZ+NaBC5PMzA9MsxA16tGB/Nh/RWg4aMtcSWXd108DNXy/6s?= =?us-ascii?Q?gXKTu6745+k2gQEL66XqWZ00IHqnnEbqgXW3RT6S2IOKqpzz/ZQXIw58kDT/?= =?us-ascii?Q?0lo3l0zRuQr9bjZsUgFGlHcYFNPOHMFch0CF3s/2boCiHdd9z4Zl4sd9kNv5?= =?us-ascii?Q?w7XN8qVY7ihcwvvdX14A4XrEfh7N8KTfjTA+S/B37lWDX7B0PO0yNhfiH/0/?= =?us-ascii?Q?pgFk+AqValxQ25yzhj8CWWaxE9P5wBGmdDeqwj5cSVx/gs1dYQ25KIOOqD5u?= =?us-ascii?Q?/5t/Y9PTvskTEqNGKS8owv61GJDqREYF+Y3dg/tsk5Ey20QpnqF5qLXUk/6E?= =?us-ascii?Q?WAotiNzIbCm6XdUz80+sSS0FE88wQpAcSWKWKqcQ/K3tHGtGYPyWiSwpOts5?= =?us-ascii?Q?JuwF2auuOT1Bduk3BW/8lcVlMuPeJOafWuM2g9mCslBC058cUCJSeH9h2Z48?= =?us-ascii?Q?uIQkpgZ/YhYIKfcyZ+gOkZCs6itm9aGSZQq2zAt2mUIJEuNbtEw5kPg0K31i?= =?us-ascii?Q?PIhzX0rD8qxjwnT7srdoQhNTcNstkrFKQHcENF+5LtO/Y7R7FXvrHqzDdtPp?= =?us-ascii?Q?cI8/N3EN3rzn4WE2J5cfrPfpzP6EqZa2EoMOs5oTFQfbPWnN9OFANR1gAcuB?= =?us-ascii?Q?ye6c6FY97p4EY02Z507hoOOtD8Ze6ONnzXMlD?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2013; 6:7HzU4/KaGDmkgDY9rJk4SecQp2dcKfZCRVgn1G02KFyF9TJJXLJqdVveOet55JGZjXeKfE+shuoqekbgFpH01Afdwnabepnzq/Lh/d+paoWmqQ2fXcWZDb9W7JHlTspwwN8S1IqJi6s/ILwEe+T0d8qElaXN2+c3K+ItcOYgW1gohNO6T9YUcdvxZe/VanQ4RwRW6KJVU+m+Z3vwxxK/erB7pi/y6OF8n3lMkX5EnODYkP8rlML6rxkM/dalbWsm24F5x/RTAtJcDEnwAfD2H1hCqi2pc5HH5LvE7EKI33k=; 5:EkIiEPZhtRoOCRMu34u3cD6njHQvzCj7+iF2O/G3Uj8tCcL2gZoL5XmwymWxYGONgPO7M8u/8gSQJxcyQsENllFonS/5IjqU1UMlye9/fE6xT5C/WjHPCdPNJdZRWEvoc3QwTp9XtAfCJ0e5e7Ti5DSAzDCMBtW/5SMpGyiiU80=; 24:xTtJKZT6DMBI7anV9dhPxHiCmNUxex32I5Y57o0IcFXhyEtMMf3X+t6OciEAqBxdLS+WSYA+DoeKifRf0VDnNX5wztDXCwH/Jm5J33c5BT0=; 7:cpvErJASty4j16StF1CNrNlgHipCPrjJIDWxv79AQLMUcSgj0UOAyw7aLtfWfS1gPplHIwJpc2nEcNPRMq9VeFgoZPsnkPjQhaUTeadf6VbptE3BlviOBgGFqCE0EV7ErscrrnUO4p77q+XdLsaSNqGyDWreiMah6L5zi0zULTfnRaPjl1bWCiN+jKBrzOTnyWY/eNM1EDYAdyR/we5iwAQ7THJWZC0VI3eBLDhF1+EdNsysNezxHdLVCJzkP/IA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2016 10:23:22.0588 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB2013 Subject: [dpdk-dev] [RFC][PATCH V2 2/3] examples/vhost: Add vswitch command line options X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Sep 2016 10:23:24 -0000 Add command line options for selecting switch implementation and maximum ports for the vswitch.following are two new command line options: --switch [char string, Selects the switch imlementation] --max-ports [int, selects maximum number of ports to support] For example: $ ./vhost-switch -c 3 -n 2 --socket-mem 1024 --huge-dir /hugetlbfs -- -p 0x1 --dev-basename sock1 --switch "vmdq" --max-ports 3 Signed-off-by: Pankaj Chauhan --- examples/vhost/main.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/examples/vhost/main.c b/examples/vhost/main.c index c949df4..a4e51ae 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -142,6 +142,10 @@ static uint32_t burst_rx_retry_num = BURST_RX_RETRIES; /* Character device basename. Can be set by user. */ static char dev_basename[MAX_BASENAME_SZ] = "vhost-net"; +/* vswitch device name and maximum number of ports */ +static char switch_dev[MAX_BASENAME_SZ] = "vmdq"; +static uint32_t switch_max_ports = MAX_DEVICES; + /* empty vmdq configuration structure. Filled in programatically */ static struct rte_eth_conf vmdq_conf_default = { .rxmode = { @@ -408,6 +412,22 @@ us_vhost_parse_basename(const char *q_arg) } /* + * Set switch device name. + */ +static int +us_vhost_parse_switch_name(const char *q_arg) +{ + /* parse number string */ + + if (strnlen(q_arg, MAX_BASENAME_SZ) > MAX_BASENAME_SZ) + return -1; + + snprintf(&switch_dev[0], MAX_BASENAME_SZ, "%s", q_arg); + + return 0; +} + +/* * Parse the portmask provided at run time. */ static int @@ -501,6 +521,8 @@ us_vhost_parse_args(int argc, char **argv) {"tx-csum", required_argument, NULL, 0}, {"tso", required_argument, NULL, 0}, {"client", no_argument, &client_mode, 1}, + {"switch", required_argument, NULL, 0}, + {"max-ports", required_argument, NULL, 0}, {NULL, 0, 0, 0}, }; @@ -655,6 +677,27 @@ us_vhost_parse_args(int argc, char **argv) } } + /* Set vswitch_driver name */ + if (!strncmp(long_option[option_index].name, "switch", MAX_LONG_OPT_SZ)) { + if (us_vhost_parse_switch_name(optarg) == -1) { + RTE_LOG(INFO, VHOST_CONFIG, + "Invalid argument for switch (Max len %d )\n", MAX_BASENAME_SZ); + us_vhost_usage(prgname); + return -EINVAL; + } + } + + /* Specify Max ports in vswitch. */ + if (!strncmp(long_option[option_index].name, "max-ports", MAX_LONG_OPT_SZ)) { + ret = parse_num_opt(optarg, INT32_MAX); + if (ret == -1) { + RTE_LOG(INFO, VHOST_CONFIG, "Invalid argument for switch max ports [0-N]\n"); + us_vhost_usage(prgname); + return -1; + } + switch_max_ports = ret; + } + break; /* Invalid option - print options. */ -- 1.9.1