Soft Patch Panel
 help / color / mirror / Atom feed
* [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).