From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0081.outbound.protection.outlook.com [104.47.36.81]) by dpdk.org (Postfix) with ESMTP id 379A05A5E for ; Fri, 26 Aug 2016 17:55:06 +0200 (CEST) Received: from BLUPR0301CA0014.namprd03.prod.outlook.com (10.162.113.152) by BY2PR03MB1877.namprd03.prod.outlook.com (10.164.114.17) with Microsoft SMTP Server (TLS) id 15.1.497.12; Fri, 26 Aug 2016 15:55:02 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:154) by BLUPR0301CA0014.outlook.office365.com (2a01:111:e400:5259::24) 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; Fri, 26 Aug 2016 15:55:02 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) 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.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.587.6 via Frontend Transport; Fri, 26 Aug 2016 15:55:03 +0000 Received: from BuildMachinepc.ap.freescale.net (BuildMachinepc.ap.freescale.net [10.232.133.79]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u7QFsrmQ028095; Fri, 26 Aug 2016 08:55:00 -0700 From: Pankaj Chauhan To: CC: , , , , , Pankaj Chauhan Date: Sat, 27 Aug 2016 21:56:25 +0530 Message-ID: <1472315186-28090-3-git-send-email-pankaj.chauhan@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1472315186-28090-1-git-send-email-pankaj.chauhan@nxp.com> References: <1472315186-28090-1-git-send-email-pankaj.chauhan@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131167005034468856; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(19580395003)(305945005)(86362001)(68736007)(2906002)(50466002)(2351001)(19580405001)(50986999)(92566002)(76176999)(106466001)(5660300001)(4326007)(104016004)(77096005)(47776003)(48376002)(586003)(229853001)(97736004)(7846002)(356003)(87936001)(2950100001)(11100500001)(85426001)(189998001)(8676002)(626004)(105606002)(50226002)(81166006)(110136002)(5003940100001)(33646002)(81156014)(8936002)(36756003)(8666005)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR03MB1877; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD037; 1:f75dCuM8F1dQRiF2q/cxSMjSVFKurhYMXeffIjAMYAWoGcrJ+Snpn4mrXHFDs+UuQL77VUh9Bk/3rnbL014+ZcL7qZyOKGJKbZInQD1tvQ2yNb9+w+jZoreLyyjw109bwnZMFGdpctyfUb3MnaikjT7Tn1rKmhsGWzdbd+LlUzYabAM6tLuyShBohUL+PG6Y7Nsei/fEFgmE0GX4M/fj1LztK3+kZ23KRTixWasc74jnhXE7KzBwNLROAC6586gt6p6+H6+LMb6QfTncD51KCAo6jZptIBbbsLNgJUQmmNY4lkkgduInjmMmzDTOgCuwinLVFVGOUlrqdGZwvd9exgwIrwXdwaJp4hn4jWNr90mp1Q2+pu7P3bluf1dr1+wECnWKIGMtHA3W/0lvY8U1I5y8NDNiRmdKHJ5++4szcHORHvxe6YBKCM56BQp5q+mOGOrbN/zbPTcawNs32stf+Bz3ohqM68/qC56e+zsHKwXEqavylz9/xR6mdMFrzhW6cps+ik39RXUXNx9qpTUQ/tSy1xDGqHmjBCykaf/F3l4wWK7+rsLA1nHmcshBGYEAEV9oJPPh9woirTrHxdQ2H7Vu0AC2IAa4847Q7lAU9brhHy9TlJByOhNPZgGrRt2xUrMEpmnSnvl9fgv0uIvifKkLeuoOOQM2g0knP75SChoXp4RXzixoWkjYozhkzb3oYKkG9patwDS/njyz9QrgYlIhFkLRc0vpXNrmYihMN6cwYDH3wB70kufwysqB9TPaugXf3yhr1lLobLLYi/x/lQ== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 0cc0953f-2933-41b3-d5f8-08d3cdc957cb X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1877; 2:lB5yAWMk5SMHfSVLSH/lqDENRlAGQdZ6MQyaqpfpQWMaTjqn6wL1+mh2xcYSyX0FnJUwbhGwuBFKM12A+npDJ227mBohw7ZpuUepxJr1B8uxunfNC0A+9W95HzwaiOZADXQ8NDb/LxJT5EWv9DYGP/r8OqkZ/MIX4tjfjFyWZGo2walft2w1l77wX/VY8fv/; 3:kkfAoeRd2jfGML+JkSCh6s4JYI1FE+3SDeG3TKFuTSINegXKLF4OgJfyqddXOn2QEMlxf7wCh5kPs+wktIKgm/bnMRfMW0UK5nLNEYy8UKqkkD1X2bgaGWOotcLTDS/BVolmjZNoi8Re5zSJUScM4N2hE/9cnsmKlZWkY0nDR5hU0uu4/VNG4HIDQ/VANNyVc5QG82Ei57y5girwHkK8gqTWF2CTXhYYUmUyHWw1LqA=; 25:BB55zw+fqF5OiiL3op2oqMkR7WjpVUN4eRuiYMWEQxMROBKwJPmR6FJlJaaZBPMxLbyC1bphWpBoFxFtdaEgzqXy1mSu++dLLwGOS/ztVV7XTrdH/tYJtmMsvvCbaW5oQ6RbvCtW/W39wJRHhVMfeolpWp1tZLySgHdEMF6vRgu6oFQPlIRZ8UqRY9wlK69URvcyewWHSdnstAZNYqMvzrkhgjwAXxrHz3rwXsotYDt2RyqjduP+a+4AN4QIOFn/0YQmmy4nwLNNNzKSjMS8Xy2QJq6m0Psf39b+mGD2WGhqow0j+ounSyLmVYNW/ZK427gzWob1dJ6EkUTBdSqYzhoZzHRWjNkZpLCcJwWu+QrRkFdG278fkl6lq/OxrIJdFoUk6DObVR0yUIUoPkynDCe/hitvsaPYJEmC7riOEHc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB1877; 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)(13015025)(13023025)(13024025)(13018025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:BY2PR03MB1877; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR03MB1877; X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1877; 4:W543BlxW+WWoZ82pJo70nxSfrKEeHdkRZdQpaOTOmFIgp+mlm435ClXx1NUNAXprbJjC83BhkM7rYRQYTejVztLlIsNtJ3PkDRc8WpYdKrC2sI5DEU8OUdGEKSGI/YTSO6I83aHCO7nk9WxnST0GRh/MHZeAyHZ6I6DVkj5lWoNpm8O2XgashQMUApNmNYBn1P0zWqMW85AObXh653oiwMu+45xJqD2zZzKSOJYJh8IGTdwPRF6nsEk1WM0ZPLepwDGi+oqB8/plwkGuwS0nyHrmQ2h1qzgQw3+qeOTiYs8chZ+8ymbrRPW/EDw7fozGNjPm9H1jxYskY5wn67NvFZEXwKWAhAj716NqB4Pc8EQfoyUfXRNlpokbllKGjo1Ngc2zEMAww/HW7pI7uth6vaod8nOy6QBO4Irjuq/RASKIh2ASZoYSxccjMgPk8khlGcyL4V7x0RkDkowGBXPK+MhQ1dSnKx667Qi9vHi193MXeRbxxUQlDrC+z/8qUC/Kc7svyxwtsAuxUwEZMLhQtEUT0E/PmU4UR9+H0iY++cQ= X-Forefront-PRVS: 00462943DE X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR03MB1877; 23:WFOxXbp3g9/y/5r8m79UabwQFylIHpriQ29rmeKv3?= =?us-ascii?Q?ElmeIurxG8PVV+1ymvWSpQttQjiF91JYvGz6vJvJJP7QeZSySXmTqeI6iutX?= =?us-ascii?Q?HfOcCygpbY+TWDakWD2F/UmG4vQjLWQbcAk70+iPP3NZ5dfceOFnmRc2n9qp?= =?us-ascii?Q?nW0NQ8kwLwrouxLbR+oAWqWjGV4wwcIpfAJMWWMsMsjyJ5Bl0UtDG+dbtWXh?= =?us-ascii?Q?IwqlUHoi7sc4ZKoULB7iCFmvaXtLYcqucvXaQACsqnj42mX5tof/8L1GYdXW?= =?us-ascii?Q?HeUotnPjNsFbsZgQ9mJnfE3dIhxZiMUKKI+JY5phq5nBKlnVYLwpaxGi/xBX?= =?us-ascii?Q?GCu+CJtxwttaPqmUdD4dyZPU3cn4cGFTlgw4P51FPhXziBizpp4PJ0VPSOjE?= =?us-ascii?Q?00YUGRaUmhGdcsvhU5jbV1ByZinxXwRfLY5MF66tqM/0/lgHIMeqWSjbw2Bk?= =?us-ascii?Q?GDDgJaRYXXSlVBajeZwpsnLAe45XZMNMcanDG/EdpSQRdE5cH2KKVOWN8Tic?= =?us-ascii?Q?AmnMxNjf9z40SkjUdpmLBnhVwu5btbSNohL03dcAFpZwMrw+oT6UbEgfjp1y?= =?us-ascii?Q?2pQAdvgS0zcZHoCESvJlNEURbXcdiFxJXkK/54viHOpEeMsu+5LMbl4qE+ao?= =?us-ascii?Q?sV0QOi8vD97mCZiZ0y9hDf2JB/Q4CXfSuuW6+hZKEPUxmW/NfUywUP2yoUh5?= =?us-ascii?Q?oswB8Cb1RV69mWf/Jjxmfj2c1yCujzsNc/lEQCYaTKPP8Cdox6RxoPowUDce?= =?us-ascii?Q?Or8oCVbrkV5ElDmDQPJWEgiPf7kTfzqvaRvcXTL5DUFlaY/Q8eu0qqU0zW8f?= =?us-ascii?Q?VcvF/x2G6F+T1MQxjmlcGO9zQfR46DydKh0a9IexCjADGkpxHPmfV9Vz3SnR?= =?us-ascii?Q?oNa4CqqHyur1dRBq7Ug66JiPEi4TcFalxEhO255r3pjSfbNShc/dwKX2jSZp?= =?us-ascii?Q?buiLuABrFGH+jr4MSGD58TAZAFF8BIHeFndUAfp/E1EfdW/dBr8mAk6EeMuh?= =?us-ascii?Q?+3ZF1/YjYSvhRkOD450OyGLfbUACQyy3MpfWEkMbZkT8rPUmkHiIu9bxlj4w?= =?us-ascii?Q?GjG62d2KP8e7Du0oHuI5/PejEno+6EugNJz/0tu8KEvHfF/HJu6xh+ACLH9P?= =?us-ascii?Q?8cnh9YrHSee6or0omhEr0oYg91Y5tzf2npHI2dpUJ5Y3oKyEgJ6vxLAem/M5?= =?us-ascii?Q?h37DoWFmp+Q1OYjGLHysNteGBdsC7u+k+/A?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1877; 5:1nVbpsr8AsGjx3jNoDtLxkNbmf0jbvUXjm6jrvxI6nX0H8b1Pnrk8g5CbIHdZER3QWnzWm109JB28dj5BpqWQo9BbByDfNiQfoOGJFSIQlWLO52ssw6DG/TLnuvkGhi97Fl86RyDHdbc4DpDfJhK8KkVA/FF1FcvH0z/8MXq6Zg=; 24:Pmd/29hBHP0ZMH68+HUqFCRoH6UqU8W7EOprDe8dfecMdGoyoq3FYOmWLqLy/7t9LrlS1KNKjs5hcmFhx8LaQZ92LySa+e9u2aYM+5/DqG8=; 7:98wBDYSArbRz2JiSZA5yCHhX2bJBcl7a1Rbm7ptmr+kCuBmInmv86gInptO6g2yMPQaRXG8X/nMalzwMIgl+ECaa9VJhDVvr6G49Inw4tfsIp0CMz015y+tIXvBvziHTSroj85kjAMD/imxpn0SQsF/jBFC58RHRzeyHqI+KxSRQvQUDaoQl4SwHhioxYOvR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2016 15:55:03.2596 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR03MB1877 Subject: [dpdk-dev] [RFC][PATCH 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: Fri, 26 Aug 2016 15:55:06 -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 92a9823..59cddb8 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; + else + snprintf((char*)&switch_dev, 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 character switch dev (Max %d characters)\n", MAX_BASENAME_SZ); + us_vhost_usage(prgname); + return -1; + } + } + + /* 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; + } else { + switch_max_ports = ret; + } + } + break; /* Invalid option - print options. */ -- 1.9.1