From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mogw1231.ocn.ad.jp (mogw1231.ocn.ad.jp [153.149.235.32]) by dpdk.org (Postfix) with ESMTP id 884587CDA for ; Sun, 20 Aug 2017 18:43:13 +0200 (CEST) Received: from mf-smf-ucb009.ocn.ad.jp (mf-smf-ucb009.ocn.ad.jp [153.149.227.69]) by mogw1231.ocn.ad.jp (Postfix) with ESMTP id 49E7CD001F7; Mon, 21 Aug 2017 01:43:11 +0900 (JST) Received: from mf-smf-ucb009.ocn.ad.jp (mf-smf-ucb009 [153.149.227.69]) by mf-smf-ucb009.ocn.ad.jp (Postfix) with ESMTP id 2FB321006DA; Mon, 21 Aug 2017 01:43:11 +0900 (JST) Received: from ntt.pod01.mv-mta-ucb025 (mv-mta-ucb025.ocn.ad.jp [153.149.142.99]) by mf-smf-ucb009.ocn.ad.jp (Switch-3.3.4/Switch-3.3.4) with ESMTP id v7KGgrOA034645; Mon, 21 Aug 2017 01:43:10 +0900 Received: from smtp.ocn.ne.jp ([153.149.227.166]) by ntt.pod01.mv-mta-ucb025 with id zUjA1v0023c2f7501UjAM5; Sun, 20 Aug 2017 16:43:10 +0000 Received: from localhost.localdomain (p6161081-ipngn30001marunouchi.tokyo.ocn.ne.jp [180.47.111.81]) by smtp.ocn.ne.jp (Postfix) with ESMTPA; Mon, 21 Aug 2017 01:43:10 +0900 (JST) From: ogawa.yasufumi@lab.ntt.co.jp To: gerald.rogers@intel.com, sy.jong.choi@intel.com, spp@dpdk.org Cc: Yasufumi Ogawa Date: Mon, 21 Aug 2017 01:42:45 +0900 Message-Id: <20170820164246.82586-5-ogawa.yasufumi@lab.ntt.co.jp> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170820164246.82586-1-ogawa.yasufumi@lab.ntt.co.jp> References: <20170820164246.82586-1-ogawa.yasufumi@lab.ntt.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [spp] [PATCH 5/6] Correct assignment of secondary ID X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Aug 2017 16:43:14 -0000 From: Yasufumi Ogawa Although assignment of secondary ID is started from 0 in setup guide, it is started from 1 actually and only assigns 0 if given ID is used already. This change is for correcting assingnment of secondary ID from 1 in command line examples and diagrams. It also includes update for misc bug fixes of marddown. Signed-off-by: Yasufumi Ogawa --- docs/setup_guide.md | 214 ++++++++++++++++++++++++++++------------------------ 1 file changed, 116 insertions(+), 98 deletions(-) diff --git a/docs/setup_guide.md b/docs/setup_guide.md index 9d529a3..54f2cd3 100644 --- a/docs/setup_guide.md +++ b/docs/setup_guide.md @@ -21,13 +21,15 @@ Sample usage of the application Compilation ----------- -Change to DPDK directory -Set RTE_SDK variable to current folder -Set RTE_TARGET variable to any valid target. -Compile DPDK: "make T=x86_64-native-linuxapp-gcc install" +Compile DPDK +* Change to DPDK directory +* Set `RTE_SDK` variable to current folder +* Set `RTE_TARGET` variable to any valid target. +* Compile DPDK: "make T=x86_64-native-linuxapp-gcc install" -Change to SPP directory -Compile SPP: "make" +Compile SPP +* Change to SPP directory +* Compile SPP: "make" Start Controller ---------------- @@ -39,6 +41,11 @@ $ python spp.py -p 5555 -s 6666 Start spp_primary ----------------- +Options +* p: port mask +* n: number of sec +* s: ipaddr of controller and port for primary + ```sh $ sudo ./src/primary/src/primary/x86_64-native-linuxapp-gcc/spp_primary \ -c 0x02 -n 4 \ @@ -54,6 +61,10 @@ $ sudo ./src/primary/src/primary/x86_64-native-linuxapp-gcc/spp_primary \ Start spp_nfv ------------- +Options +* n: seconary id (n > 0) +* s: ipaddr of controller and port for secondary + ```sh $ sudo ./src/nfv/src/nfv/x86_64-native-linuxapp-gcc/spp_nfv \ -c 0x06 -n 4 \ @@ -90,36 +101,43 @@ $ sudo ./x86_64-softmmu/qemu-system-x86_64 \ -nographic -vnc :2 ``` -To start spp_vm "qemu-ifup" script required, please copy docs/qemu-ifup to host /etc/qemu-ifup +To start spp_vm "qemu-ifup" script required, please copy docs/qemu-ifup +to host /etc/qemu-ifup Vhost interface is supported to communicate between guest and host: ### vhost interface -- spp should do a "sec x:add vhost y" before starting the VM. x: vnf number, y: vhost port id. +- spp should do a "sec x:add vhost y" before starting the VM. + x: vnf number, y: vhost port id. - Needs vhost argument for qemu: ```sh - sudo ./x86_64-softmmu/qemu-system-x86_64 \ - -cpu host \ - -enable-kvm \ - -object memory-backend-file,id=mem,size=2048M,mem-path=/dev/hugepages,share=on \ - -numa node,memdev=mem \ - -mem-prealloc \ - -hda /home/dpdk/debian_wheezy_amd64_standard.qcow2 \ - -m 2048 \ - -smp cores=4,threads=1,sockets=1 \ - -device e1000,netdev=net0,mac=DE:AD:BE:EF:00:01 \ - -netdev tap,id=net0 \ - -chardev socket,id=chr0,path=/tmp/sock0 \ - -netdev vhost-user,id=net1,chardev=chr0,vhostforce \ - -device virtio-net-pci,netdev=net1 \ - -nographic -vnc :2 + sudo ./x86_64-softmmu/qemu-system-x86_64 \ + -cpu host \ + -enable-kvm \ + -object memory-backend-file,id=mem,size=2048M,mem-path=/dev/hugepages,share=on \ + -numa node,memdev=mem \ + -mem-prealloc \ + -hda /home/dpdk/debian_wheezy_amd64_standard.qcow2 \ + -m 2048 \ + -smp cores=4,threads=1,sockets=1 \ + -device e1000,netdev=net0,mac=DE:AD:BE:EF:00:01 \ + -netdev tap,id=net0 \ + -chardev socket,id=chr0,path=/tmp/sock0 \ + -netdev vhost-user,id=net1,chardev=chr0,vhostforce \ + -device virtio-net-pci,netdev=net1 \ + -nographic -vnc :2 ``` Start spp_vm (Inside the VM) ---------------------------- +Options +* p: port mask +* n: secondary id +* s: ipaddr of controller and port for secondary + ```sh $ sudo ./src/vm/src/vm/x86_64-native-linuxapp-gcc/spp_vm \ -c 0x03 -n 4 \ @@ -140,7 +158,7 @@ Test Setup 1: Single NFV __ +--------------+ | | spp_nfv | | - | | | + | (sec 1) | | +--------------+ | ^ : | | | | @@ -163,17 +181,17 @@ Test Setup 1: Single NFV ### Configuration for L2fwd ``` -spp > sec 0;patch 0 1 -spp > sec 0;patch 1 0 -spp > sec 0;forward +spp > sec 1;patch 0 1 +spp > sec 1;patch 1 0 +spp > sec 1;forward ``` ### Configuration for loopback ``` -spp > sec 0;patch 0 0 -spp > sec 0;patch 1 1 -spp > sec 0;forward +spp > sec 1;patch 0 0 +spp > sec 1;patch 1 1 +spp > sec 1;forward ``` Test Setup 2: Dual NFV @@ -183,7 +201,7 @@ Test Setup 2: Dual NFV __ +--------------+ +--------------+ | | spp_nfv | | spp_nfv | | - | | | | | + | (sec 1) | | (sec 2) | | +--------------+ +--------------+ | ^ : : : | | | +--------+ | | @@ -206,10 +224,10 @@ Test Setup 2: Dual NFV ### Configuration for L2fwd ``` -spp > sec 0;patch 0 1 -spp > sec 1;patch 1 0 -spp > sec 0;forward +spp > sec 1;patch 0 1 +spp > sec 2;patch 1 0 spp > sec 1;forward +spp > sec 2;forward ``` ``` @@ -217,7 +235,7 @@ spp > sec 1;forward __ +--------------+ +--------------+ | | spp_nfv | | spp_nfv | | - | | | | | + | (sec 1) | | (sec 2) | | +--------------+ +--------------+ | ^ : ^ : | | | | | | @@ -240,10 +258,10 @@ spp > sec 1;forward ### Configuration for loopback ``` -spp > sec 0;patch 0 0 -spp > sec 1;patch 1 1 -spp > sec 0;forward +spp > sec 1;patch 0 0 +spp > sec 2;patch 1 1 spp > sec 1;forward +spp > sec 2;forward ``` Test Setup 3: Dual NFV with ring pmd @@ -251,9 +269,9 @@ Test Setup 3: Dual NFV with ring pmd ``` __ - +----------+ ring +----------+ | + +----------+ ring 0 +----------+ | | spp_nfv | +--------+ | spp_nfv | | - | 2 | -> | | | |- > | 2 | | + | (sec 1) | -> | | | |- > | (sec 2) | | +----------+ +--------+ +----------+ | ^ : | | | | @@ -276,34 +294,34 @@ Test Setup 3: Dual NFV with ring pmd ### Configuration for Uni directional L2fwd ``` -spp > sec 0;add ring 0 spp > sec 1;add ring 0 -spp > sec 0;patch 0 2 -spp > sec 1;patch 2 1 -spp > sec 0;forward +spp > sec 2;add ring 0 +spp > sec 1;patch 0 2 +spp > sec 2;patch 2 1 spp > sec 1;forward +spp > sec 2;forward ``` ``` __ - ring | + ring 0 | +--------+ | - +----------+ <--| | | |<-- +----------+ | - | 3 | +--------+ | 3 | | - | spp_nfv | | spp_nfv | | - | 2 |--> +--------+ -->| 2 | | - +----------+ | | | | +----------+ | + +-----------+ <--| | | |<-- +-----------+ | + | 3| +--------+ |3 | | + | spp_nfv | | spp_nfv | | + | (sec 1) 2|--> +--------+ -->|2 (sec 2) | | + +-----------+ | | | | +-----------+ | ^ +--------+ ^ | - | ring | | + | ring 1 | | v v | - +----+----------+-------------------------------------------------+ | - | | primary | ^ ^ | | - | +----------+ | : | | + +---+----------+--------------------------------------------------+ | + | | primary | ^ ^ | | + | +----------+ | : | | | : : | | | : | | | host | v v | | | +--------------+ +--------------+ | | - | | phy port 0 | | phy port 1| | | + | | phy port 0 | | phy port 1 | | | +------------------+--------------+------------+--------------+---+ __| ^ ^ | | @@ -314,73 +332,73 @@ spp > sec 1;forward ### Configuration for L2fwd ``` -spp > sec 0;add ring 0 -spp > sec 0;add ring 1 spp > sec 1;add ring 0 spp > sec 1;add ring 1 -spp > sec 0;patch 0 2 -spp > sec 0;patch 3 0 -spp > sec 1;patch 1 3 -spp > sec 1;patch 2 1 -spp > sec 0;forward +spp > sec 2;add ring 0 +spp > sec 2;add ring 1 +spp > sec 1;patch 0 2 +spp > sec 1;patch 3 0 +spp > sec 2;patch 1 3 +spp > sec 2;patch 2 1 spp > sec 1;forward +spp > sec 2;forward ``` Test Setup 4: Single NFV with VM through vhost pmd -------------------------------------------------- ``` - __ - +----------------------+ | - | guest | | - | | | - | +-------------+ | | guest 192.168.122.51 - | | spp_vm | | | - | | 0 | | | - +---+--------------+---+ __| + __ + +-----------------------+ | + | guest | | + | | | + | +--------------+ | | guest + | | spp_vm | | | 192.168.122.51 + | | (sec 2) | | | + | | 0 | | | + +---+--------------+----+ __| ^ : - | | | virtio | - | | - | V __ - +--------------------+ | - | spp_nfv | | - | 2 | | - +--------------------+ | - ^ : | - | +---------- + | - : v | - +----+----------+--------------------------------------------+ | - | | primary | ^ : | | - | +----------+ | : | | - | : : | | - | : | | | host 192.168.122.1 - | : v | | - | +--------------+ +--------------+ | | - | | phy port 0 | | phy port 1| | | - +------------------+--------------+-------+--------------+---+ __| + | V __ + +--------------------+ | + | spp_nfv | | + | 2 (sec 1) | | + +--------------------+ | + ^ : | + | +---------- + | + : v | + +----+----------+--------------------------------------------+ | + | | primary | ^ : | | + | +----------+ | : | | + | : | | | host + | : v | | 192.168.122.1 + | +--------------+ +--------------+ | | + | | phy port 0 | | phy port 1 | | | + +------------------+--------------+-------+--------------+---+ __| ^ : | | : v ``` -Legend:- -sec 0 = spp_nfv -sec 1 = spp_vm - - ### Configuration for Uni directional L2fwd ```sh [rm –rf /tmp/sock0] +``` + +``` spp > sec 0;add vhost 0 +``` + [start VM] -spp > sec 0;patch 0 2 -spp > sec 0;patch 2 1 -spp > sec 1;patch 0 0 + +``` +spp > sec 1;patch 0 2 +spp > sec 1;patch 2 1 +spp > sec 2;patch 0 0 spp > sec 1;forward -spp > sec 0;forward +spp > sec 2;forward ``` -- 2.13.1