* [spp] [PATCH 0/3] Add vhost-user client mode
@ 2019-01-23 8:14 ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 1/3] shared: add vhost-user client support ogawa.yasufumi
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: ogawa.yasufumi @ 2019-01-23 8:14 UTC (permalink / raw)
To: ferruh.yigit, spp, ogawa.yasufumi
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
Hi,
Vhost-user in DPDK supports the client mode as described in [1].
Although it is already implemented in spp_vf and its siblings, not yet
in `add_vhost_pmd()` in shared library.
This series of patches is to add the client mode to `add_vhost_pmd()`
and enable to use from the rest of secondary processes supporting vhost
PMD.
[1] http://doc.dpdk.org/guides/sample_app_ug/vhost.html
Thanks,
Yasufumi
Yasufumi Ogawa (3):
shared: add vhost-user client support
spp_nfv: add vhost-client option
shared: fix typo in a log message
src/nfv/main.c | 27 +++++++++++++++++++++++++--
src/shared/secondary/add_port.c | 6 +++++-
src/shared/secondary/add_port.h | 2 ++
src/shared/secondary/utils.c | 2 +-
4 files changed, 33 insertions(+), 4 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [spp] [PATCH 1/3] shared: add vhost-user client support
2019-01-23 8:14 [spp] [PATCH 0/3] Add vhost-user client mode ogawa.yasufumi
@ 2019-01-23 8:14 ` ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 2/3] spp_nfv: add vhost-client option ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 3/3] shared: fix typo in a log message ogawa.yasufumi
2 siblings, 0 replies; 4+ messages in thread
From: ogawa.yasufumi @ 2019-01-23 8:14 UTC (permalink / raw)
To: ferruh.yigit, spp, ogawa.yasufumi
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
This update is to add client mode for vhost-user. If it is enabled,
`client` in `devargs` variable is set to `1` to activate this mode in
`add_vhost_pmd()`.
Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
src/shared/secondary/add_port.c | 6 +++++-
src/shared/secondary/add_port.h | 2 ++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/shared/secondary/add_port.c b/src/shared/secondary/add_port.c
index ca55a04..2841f94 100644
--- a/src/shared/secondary/add_port.c
+++ b/src/shared/secondary/add_port.c
@@ -12,6 +12,8 @@
#include "shared/secondary/add_port.h"
#include "shared/secondary/utils.h"
+int g_enable_vhost_cli;
+
char *
get_vhost_backend_name(unsigned int id)
{
@@ -150,7 +152,9 @@ add_vhost_pmd(int index)
name = get_vhost_backend_name(index);
iface = get_vhost_iface_name(index);
- sprintf(devargs, "%s,iface=%s,queues=%d", name, iface, nr_queues);
+ sprintf(devargs, "%s,iface=%s,queues=%d,client=%d",
+ name, iface, nr_queues, g_enable_vhost_cli);
+ RTE_LOG(DEBUG, SHARED, "devargs for vhost: '%s'\n", devargs);
ret = dev_attach_by_devargs(devargs, &vhost_port_id);
if (ret < 0)
return ret;
diff --git a/src/shared/secondary/add_port.h b/src/shared/secondary/add_port.h
index cfae1af..7012940 100644
--- a/src/shared/secondary/add_port.h
+++ b/src/shared/secondary/add_port.h
@@ -20,6 +20,8 @@
#define RTE_LOGTYPE_SHARED RTE_LOGTYPE_USER1
+extern int g_enable_vhost_cli;
+
/**
* Get unique name used to reserve vhost interface.
*
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [spp] [PATCH 2/3] spp_nfv: add vhost-client option
2019-01-23 8:14 [spp] [PATCH 0/3] Add vhost-user client mode ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 1/3] shared: add vhost-user client support ogawa.yasufumi
@ 2019-01-23 8:14 ` ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 3/3] shared: fix typo in a log message ogawa.yasufumi
2 siblings, 0 replies; 4+ messages in thread
From: ogawa.yasufumi @ 2019-01-23 8:14 UTC (permalink / raw)
To: ferruh.yigit, spp, ogawa.yasufumi
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
To activate vhost-user client mode, add `--vhost-client` option.
Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
src/nfv/main.c | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/nfv/main.c b/src/nfv/main.c
index 701a700..54f908d 100644
--- a/src/nfv/main.c
+++ b/src/nfv/main.c
@@ -24,6 +24,22 @@
static sig_atomic_t on = 1;
+enum {
+ /*
+ * Long options mapped to a short option.
+ *
+ * First long only option value must be >= 256, so that we won't
+ * conflict with short options.
+ */
+ CMD_LINE_OPT_MIN_NUM = 256,
+ CMD_OPT_ENABLE_VHOST_CLI,
+};
+
+static struct option lgopts[] = {
+ {"vhost-client", no_argument, NULL, CMD_OPT_ENABLE_VHOST_CLI},
+ {0}
+};
+
/*
* print a usage message
*/
@@ -31,7 +47,9 @@ static void
usage(const char *progname)
{
RTE_LOG(INFO, SPP_NFV,
- "Usage: %s [EAL args] -- -n <client_id>\n\n", progname);
+ "Usage: %s [EAL args] -- %s %s %s\n\n",
+ progname, "-n <client_id>", "-s <ipaddr:port>",
+ "--vhost-client");
}
/*
@@ -43,12 +61,14 @@ parse_app_args(int argc, char *argv[])
int option_index, opt;
char **argvopt = argv;
const char *progname = argv[0];
- static struct option lgopts[] = { {0} };
int ret;
while ((opt = getopt_long(argc, argvopt, "n:s:", lgopts,
&option_index)) != EOF) {
switch (opt) {
+ case CMD_OPT_ENABLE_VHOST_CLI:
+ g_enable_vhost_cli = 1;
+ break;
case 'n':
if (parse_num_clients(&client_id, optarg) != 0) {
usage(progname);
@@ -173,6 +193,9 @@ main(int argc, char *argv[])
if (parse_app_args(argc, argv) < 0)
rte_exit(EXIT_FAILURE, "Invalid command-line arguments\n");
+ if (g_enable_vhost_cli == 1)
+ RTE_LOG(INFO, SPP_NFV, "vhost client mode is enabled.\n");
+
/* initialize port forward array*/
forward_array_init();
port_map_init();
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [spp] [PATCH 3/3] shared: fix typo in a log message
2019-01-23 8:14 [spp] [PATCH 0/3] Add vhost-user client mode ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 1/3] shared: add vhost-user client support ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 2/3] spp_nfv: add vhost-client option ogawa.yasufumi
@ 2019-01-23 8:14 ` ogawa.yasufumi
2 siblings, 0 replies; 4+ messages in thread
From: ogawa.yasufumi @ 2019-01-23 8:14 UTC (permalink / raw)
To: ferruh.yigit, spp, ogawa.yasufumi
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
Fix typo of mal formatted log message.
Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
src/shared/secondary/utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/secondary/utils.c b/src/shared/secondary/utils.c
index 8f2e830..7c676a0 100644
--- a/src/shared/secondary/utils.c
+++ b/src/shared/secondary/utils.c
@@ -19,7 +19,7 @@ parse_resource_uid(char *str, char **port_type, int *port_id)
char delim[] = ":";
char *endp;
- RTE_LOG(DEBUG, SHARED, "Parsing resource UID: '%s\n'", str);
+ RTE_LOG(DEBUG, SHARED, "Parsing resource UID: '%s'\n", str);
if (strstr(str, delim) == NULL) {
RTE_LOG(ERR, SHARED, "Invalid resource UID: '%s'\n", str);
return -1;
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-01-23 8:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-23 8:14 [spp] [PATCH 0/3] Add vhost-user client mode ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 1/3] shared: add vhost-user client support ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 2/3] spp_nfv: add vhost-client option ogawa.yasufumi
2019-01-23 8:14 ` [spp] [PATCH 3/3] shared: fix typo in a log message ogawa.yasufumi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).