[spp] [PATCH 25/30] doc: add how to use vhost-user support

x-fn-spp at sl.ntt-tx.co.jp x-fn-spp at sl.ntt-tx.co.jp
Tue Jan 16 06:16:36 CET 2018


From: Hiroyuki Nakamura <nakamura.hioryuki at po.ntt-tx.co.jp>

add description on how to use vhost-user client mode.
* Add information on qemu-kvm version.
* Add and explan optional parameters of spp_vf.
* Update qemu parameter for vhost. (xml set by virsh)

Signed-off-by: Kentaro Watanabe <watanabe.kentaro.z01 at as.ntt-tx.co.jp>
Signed-off-by: Naoki Takada <takada.naoki at lab.ntt.co.jp>
---
 docs/spp_vf/how_to_use.md   | 24 ++++++++++++++++++++----
 docs/spp_vf/sample_usage.md | 10 ++++++----
 docs/spp_vf/setup_guide.md  | 10 +++++-----
 3 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/docs/spp_vf/how_to_use.md b/docs/spp_vf/how_to_use.md
index dee4465..32c1774 100644
--- a/docs/spp_vf/how_to_use.md
+++ b/docs/spp_vf/how_to_use.md
@@ -9,7 +9,7 @@ SPP_VF is a SR-IOV like network functionality for NFV.
 ## Environment
 
 * Ubuntu 16.04
-* qemu-kvm
+* qemu-kvm 2.7 or later
 * DPDK v17.05 or later
 
 ## Launch SPP
@@ -56,7 +56,10 @@ In `spp_vf`, spp secondary processes are launched by single command.
 Option of dpdk are refer to [dpdk documentation](http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-sample-application).
 
 Options of `spp_vf` are
-  * TODO
+  * --client-id    : client id
+  * --config       : config file path
+  * -s             : Port for ip addr and spp secondary
+  * --vhost-client : vhost-user client enable setting
 
 Core assingment and network configuration are defined
 in JSON formatted config file.
@@ -65,7 +68,19 @@ config file (test/spp_config/spp_config/vf.json).
 
 ```sh
 $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
--c 0x3ffd -n 4 --proc-type=secondary
+-c 0x3ffd -n 4 --proc-type=secondary \
+-- --client-id 1 -s 127.0.0.1:6666 --vhost-client
+```
+
+`--vhost-client` option is used when SPP is a client of vhost-user.
+By choosing not to use `--vhost-client` option,
+It may be possible to use SPP even in qemu (before 2.7 version)
+which can not be used as a vhost-user server.
+
+```sh
+$ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
+-c 0x3ffd -n 4 --proc-type=secondary \
+-- --client-id 1 -s 127.0.0.1:6666
 ```
 
 You can also indicate which of config you use explicitly with
@@ -78,7 +93,8 @@ defined in each of config files.
 ```sh
 $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
 -c 0x3ffd -n 4 --proc-type=secondary \
--- --config /path/to/config/spp_vf1.json
+-- --client-id 1 --config /path/to/config/spp_vf1.json \
+-s 127.0.0.1:6666 --vhost-client
 ```
 
 ### SPP VM
diff --git a/docs/spp_vf/sample_usage.md b/docs/spp_vf/sample_usage.md
index dcc051a..47abbec 100644
--- a/docs/spp_vf/sample_usage.md
+++ b/docs/spp_vf/sample_usage.md
@@ -41,17 +41,19 @@ launch secondary process after launch primary process.
   $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
   -c 0x00fd -n 4 --proc-type=secondary \
   -- \
-  --process-id 1 \
+  --client-id 1 \
   --config /path/to/spp_vf1_without_cmtab.json \
-  -s 127.0.0.1:11111
+  -s 127.0.0.1:11111 \
+  --vhost-client
 
   # start secondary 2
   $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
   -c 0x3f01 -n 4 --proc-type=secondary \
   -- \
-  --process-id 2 \
+  --client-id 2 \
   --config /path/to/spp_vf2_without_cmtab.json \
-  -s 127.0.0.1:11112
+  -s 127.0.0.1:11112 \
+  --vhost-client
   ```
 
 ### Setup network configuration for VMs
diff --git a/docs/spp_vf/setup_guide.md b/docs/spp_vf/setup_guide.md
index 4684cf3..f24e43e 100644
--- a/docs/spp_vf/setup_guide.md
+++ b/docs/spp_vf/setup_guide.md
@@ -3,7 +3,7 @@
 ## Environment
 
 * Ubuntu 16.04
-* qemu-kvm
+* qemu-kvm 2.7 or later
 * DPDK v17.05 or later
 
 ## Setting
@@ -205,15 +205,15 @@ $ virsh edit [VM_NAME]
 	    <qemu:arg value='node,memdev=mem'/>
 	    <qemu:arg value='-mem-prealloc'/>
 	    <qemu:arg value='-chardev'/>
-	    <qemu:arg value='socket,id=chr0,path=/tmp/sock0'/>
+	    <qemu:arg value='socket,id=chr0,path=/tmp/sock0,server'/>
 	    <qemu:arg value='-device'/>
-	    <qemu:arg value='virtio-net-pci,netdev=vhost-net0'/>
+	    <qemu:arg value='virtio-net-pci,netdev=vhost-net0,mac=52:54:00:12:34:56'/>
 	    <qemu:arg value='-netdev'/>
 	    <qemu:arg value='vhost-user,id=vhost-net0,chardev=chr0,vhostforce'/>
 	    <qemu:arg value='-chardev'/>
-	    <qemu:arg value='socket,id=chr1,path=/tmp/sock1'/>
+	    <qemu:arg value='socket,id=chr1,path=/tmp/sock1,server'/>
 	    <qemu:arg value='-device'/>
-	    <qemu:arg value='virtio-net-pci,netdev=vhost-net1'/>
+	    <qemu:arg value='virtio-net-pci,netdev=vhost-net1,mac=52:54:00:12:34:57'/>
 	    <qemu:arg value='-netdev'/>
 	    <qemu:arg value='vhost-user,id=vhost-net1,chardev=chr1,vhostforce'/>
 	  </qemu:commandline>
-- 
1.9.1



More information about the spp mailing list