DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] doc: live migration of VM with Virtio and VF
@ 2016-07-01 10:48 Bernard Iremonger
  2016-07-01 10:48 ` [dpdk-dev] [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  0 siblings, 2 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-01 10:48 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch describes the procedure to be be followed
to perform Live Migration of a VM with Virtio and VF PMD's
using the bonding PMD.

It includes sample host and VM scripts used in the procedure,
and a sample switch configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/how_to/index.rst                |  38 ++
 doc/guides/how_to/lm_bond_virtio_sriov.rst | 687 +++++++++++++++++++++++++++++
 doc/guides/index.rst                       |   3 +-
 3 files changed, 727 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/how_to/index.rst
 create mode 100644 doc/guides/how_to/lm_bond_virtio_sriov.rst

diff --git a/doc/guides/how_to/index.rst b/doc/guides/how_to/index.rst
new file mode 100644
index 0000000..4b97a32
--- /dev/null
+++ b/doc/guides/how_to/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+How To User Guide
+=================
+
+.. toctree::
+    :maxdepth: 3
+    :numbered:
+
+    lm_bond_virtio_sriov
diff --git a/doc/guides/how_to/lm_bond_virtio_sriov.rst b/doc/guides/how_to/lm_bond_virtio_sriov.rst
new file mode 100644
index 0000000..95d5523
--- /dev/null
+++ b/doc/guides/how_to/lm_bond_virtio_sriov.rst
@@ -0,0 +1,687 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Live Migration of VM with SR-IOV VF:
+====================================
+
+Live Migration overview for VM with Virtio and VF PMD's:
+--------------------------------------------------------
+
+It is not possible to migrate a Virtual Machine which has an SR-IOV Virtual Function.
+To get around this problem the bonding PMD is used.
+
+A bonded device is created in the VM.
+The virtio and VF PMD's are added as slaves to the bonded device.
+The VF is set as the primary slave of the bonded device.
+
+A bridge must be set up on the Host connecting the tap device, which is the
+backend of the Virtio device and the Physical Function device.
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and Qemu 2.3 is also required on the servers.
+
+The servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+
+Live Migration with SR-IOV VF test setup:
+-----------------------------------------
+
+
+Live Migration steps for VM with Virtio and VF PMD's:
+-----------------------------------------------------
+
+The host is running the Kernel Physical Function driver (ixgbe or i40e).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+The sample scripts mentioned in the steps below can be found in the host_scripts
+and vm_scripts sections.
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_46.sh
+
+For Fortville NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_i40e_212_46.sh
+
+For Niantic NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_one_212_46.sh
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_bridge_on_212_46.sh
+    ./connect_to_qemu_mon_on_host.sh
+    (qemu)
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    cd /root/dpdk/vm_scripts
+    ./setup_dpdk_in_vm.sh
+    ./run_testpmd_bonding_in_vm.sh
+
+    testpmd> show port info all
+
+The following command only works with kernel PF for Niantic
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+
+create bonded device(mode) (socket)
+
+Mode 1 is active backup.
+
+Virtio is port 0.
+
+VF is port 1.
+
+.. code-block:: console
+
+    testpmd> create bonded device 1 0
+    Created new bonded device eth_bond_testpmd_0 on (port 2).
+    testpmd> add bonding slave 0 2
+    testpmd> add bonding slave 1 2
+    testpmd> show bonding config 2
+
+set bonding primary (slave id) (port id)
+
+set primary to 1 before starting bonding port
+
+.. code-block:: console
+
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> port start 2
+    Port 2: 02:09:C0:68:99:A5
+    Checking link statuses...
+    Port 0 Link Up - speed 10000 Mbps - full-duplex
+    Port 1 Link Up - speed 10000 Mbps - full-duplex
+    Port 2 Link Up - speed 10000 Mbps - full-duplex
+
+    testpmd> show bonding config 2
+
+primary is port 1, 2 active slaves
+
+use port 2 only for forwarding
+
+.. code-block:: console
+
+    testpmd> set portlist 2
+    testpmd> show config fwd
+    testpmd> set fwd mac
+    testpmd> start
+    testpmd> show bonding config 2
+
+primary is 1, 2 active slaves
+
+.. code-block:: console
+
+    testpmd> show port stats all
+
+VF traffic seen at P1 and P2
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> remove bonding slave 1 2
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2 , VF MAC address still present.
+
+.. code-block:: console
+
+    testpmd> port stop 1
+    testpmd> port close 1
+
+Port close should remove VF MAC address, it does not remove perm_addr.
+
+The following command only works with kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr remove 1 AA:BB:CC:DD:EE:FF
+    testpmd> port detach 1
+    Port '0000:00:04.0' is detached. Now total ports is 2
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) device_del vf1
+
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> show port info all
+    testpmd> show port stats all
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_131.sh
+    ./vm_virtio_one_migrate.sh
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   ./setup_bridge_on_212_131.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Check that switch is up before migrating
+
+.. code-block:: console
+
+    (qemu) migrate tcp:10.237.212.131:5555
+    (qemu) info status
+    VM status: paused (postmigrate)
+
+    /* for Ninatic ixgbe PF */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11834 milliseconds
+    downtime: 18 milliseconds
+    setup: 3 milliseconds
+    transferred ram: 389137 kbytes
+    throughput: 269.49 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 301620 pages
+    skipped: 0 pages
+    normal: 96433 pages
+    normal bytes: 385732 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+    /* for Fortville i40e PF  */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11619 milliseconds
+    downtime: 5 milliseconds
+    setup: 7 milliseconds
+    transferred ram: 379699 kbytes
+    throughput: 267.82 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 303985 pages
+    skipped: 0 pages
+    normal: 94073 pages
+    normal bytes: 376292 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+    Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+    testpmd>
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) info status
+    VM status: running
+
+for Niantic NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=06:10.0,id=vf1
+
+for Fortville NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=03:02.0,id=vf1
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+    testomd> show port info all
+    testpmd> show port stats all
+    testpmd> show bonding config 2
+    testpmd> port attach 0000:00:04.0
+    Port 1 is attached.
+    Now total ports is 3
+    Done
+
+    testpmd> port start 1
+
+The mac_addr command only works with the Kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+    testpmd> show port stats all.
+    testpmd> show config fwd
+    testpmd> show bonding config 2
+    testpmd> add bonding slave 1 2
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+.. code-block:: console
+
+    testpmd> remove bonding slave 0 2
+    testpmd> show bonding config 2
+    testpmd> port stop 0
+    testpmd> port close 0
+    testpmd> port detach 0
+    Port '0000:00:03.0' is detached. Now total ports is 2
+
+    testpmd> show port info all
+    testpmd> show config fwd
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+sample host scripts
+-------------------
+
+setup_vf_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_vf_one_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -device pci-assign,host=09:10.0,id=vf1 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the bridge
+  # for the Tap device and the PF device.
+  # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+  ifconfig ens3f0 down
+  ifconfig tap1 down
+  ifconfig ens6f0 down
+  ifconfig virbr0 down
+
+  brctl show virbr0
+  brctl addif virbr0 ens3f0
+  brctl addif virbr0 ens6f0
+  brctl addif virbr0 tap1
+  brctl show virbr0
+
+  ifconfig ens3f0 up
+  ifconfig tap1 up
+  ifconfig ens6f0 up
+  ifconfig virbr0 up
+
+connect_to_qemu_mon_on_host.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on both hosts when the VM is up,
+  # to connect to the Qemu Monitor.
+
+  telnet 0 3333
+
+setup_vf_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.131 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_one_migrate.sh
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Start the VM on host_server_2 with the same parameters except without the VF
+  # parameters, as the VM on host_server_1, in migration-listen mode
+  # (-incoming tcp:0:5555)
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   ifconfig ens4f0 down
+   ifconfig tap1 down
+   ifconfig ens5f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens4f0
+   brctl addif virbr0 ens5f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens4f0 up
+   ifconfig tap1 up
+   ifconfig ens5f0 up
+   ifconfig virbr0 up
+
+sample VM scripts
+-----------------
+
+Set up DPDK in the Virtual Machine
+
+setup_dpdk_in_vm.sh
+^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # this script matches the vm_virtio_vf_one script
+  # virtio port is 03
+  # vf port is 04
+
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+  ifconfig -a
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+  rmmod virtio-pci ixgbevf
+
+  modprobe uio
+  insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+
+run_testpmd_bonding_in_vm.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run testpmd in the Virtual Machine.
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Run testpmd in the VM
+
+  # The test system has 8 cpus (0-7), use cpus 2-7 for VM
+  # Use taskset -pc <core number> <thread_id>
+
+  # use for bonding of virtio and vf tests in VM
+
+  /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+  -c f -n 4 --socket-mem 350 --  --i --port-topology=chained
+
+sample Switch configuration
+---------------------------
+
+The Intel Switch is used to connect the traffic generator to the
+NIC's on host_server_1 and host_server_2.
+
+In order to run the switch configuration two console windows are required.
+
+Log in as root in both windows.
+
+TestPointShared, run_switch.sh and load /root/switch_config must be executed
+in the sequence below.
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+run TestPointShared
+
+.. code-block:: console
+
+  /usr/bin/TestPointShared
+
+On Switch: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^
+
+execute run_switch.sh
+
+.. code-block:: console
+
+  /root/run_switch.sh
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+load switch configuration
+
+.. code-block:: console
+
+  load /root/switch_config
+
+Sample switch configuration script
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   /root/switch_config
+
+.. code-block:: sh
+
+  # TestPoint History
+  show port 1,5,9,13,17,21,25
+  set port 1,5,9,13,17,21,25 up
+  show port 1,5,9,13,17,21,25
+  del acl 1
+  create acl 1
+  create acl-port-set
+  create acl-port-set
+  add port port-set 1 0
+  add port port-set 5,9,13,17,21,25 1
+  create acl-rule 1 1
+  add acl-rule condition 1 1 port-set 1
+  add acl-rule action 1 1 redirect 1
+  apply acl
+  create vlan 1000
+  add vlan port 1000 1,5,9,13,17,21,25
+  set vlan tagging 1000 1,5,9,13,17,21,25 tag
+  set switch config flood_ucast fwd
+  show port stats all 1,5,9,13,17,21,25
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 7aef7a3..8a0a359 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -1,5 +1,5 @@
 ..  BSD LICENSE
-    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
@@ -45,3 +45,4 @@ DPDK documentation
    faq/index
    rel_notes/index
    contributing/index
+   how_to/index
-- 
2.6.3

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH 2/2] doc: add live migration overview image
  2016-07-01 10:48 [dpdk-dev] [PATCH 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-01 10:48 ` Bernard Iremonger
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  1 sibling, 0 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-01 10:48 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch adds an image of the Live Migration test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/how_to/img/lm_overview.svg      | 666 +++++++++++++++++++++++++++++
 doc/guides/how_to/lm_bond_virtio_sriov.rst |   3 +
 2 files changed, 669 insertions(+)
 create mode 100644 doc/guides/how_to/img/lm_overview.svg

diff --git a/doc/guides/how_to/img/lm_overview.svg b/doc/guides/how_to/img/lm_overview.svg
new file mode 100644
index 0000000..d913ae0
--- /dev/null
+++ b/doc/guides/how_to/img/lm_overview.svg
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_overview.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="397.3839"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1432"
+     inkscape:window-height="1000"
+     inkscape:window-x="137"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="479.5618"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1576.4685"
+         y="479.5618">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.05627"
+       y="476.78903"
+       id="text3082"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3084"
+         x="-947.05627"
+         y="476.78903">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1574.15"
+       y="575.35333"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967575)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-1574.15"
+         y="575.35333">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-855.08612"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604834)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-855.08612"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="257.27686"
+       height="100.60838"
+       x="-1043.5138"
+       y="187.8994" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="232.86263"
+       id="text3108"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110"
+         x="-912.34381"
+         y="232.86263">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="274.9668"
+       id="text3880"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882"
+         x="-912.34381"
+         y="274.9668">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-912.34381"
+         y="298.15558"
+         id="tspan3884">virtio and VF slaves</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="257.27686"
+       height="100.60838"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4333"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1541.4333"
+         y="233.58643">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4845"
+       y="274.63931"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1541.4845"
+         y="274.63931">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-1541.4845"
+         y="297.82809"
+         id="tspan3884-8">virtio and VF slaves</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="504.73169"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1576.4685"
+         y="504.73169">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.43506"
+       y="500.51361"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-947.43506"
+         y="500.51361">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.308"
+       y="548.3703"
+       id="text3976-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3"
+         x="-1575.308"
+         y="548.3703">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-1575.308"
+         y="571.55908"
+         id="tspan3075">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.61458333;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-978.67279"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.30841"
+       y="544.97314"
+       id="text3976-9-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3-7"
+         x="-947.30841"
+         y="544.97314">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-947.30841"
+         y="568.16193"
+         id="tspan3075-1">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>  </g>
+</svg>
diff --git a/doc/guides/how_to/lm_bond_virtio_sriov.rst b/doc/guides/how_to/lm_bond_virtio_sriov.rst
index 95d5523..39ada36 100644
--- a/doc/guides/how_to/lm_bond_virtio_sriov.rst
+++ b/doc/guides/how_to/lm_bond_virtio_sriov.rst
@@ -57,6 +57,9 @@ The switch is configured to broadcast traffic on all the NIC ports.
 Live Migration with SR-IOV VF test setup:
 -----------------------------------------
 
+.. _figure_lm_overview:
+
+.. figure:: img/lm_overview.*
 
 Live Migration steps for VM with Virtio and VF PMD's:
 -----------------------------------------------------
-- 
2.6.3

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure
  2016-07-01 10:48 [dpdk-dev] [PATCH 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-01 10:48 ` [dpdk-dev] [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-06 16:01 ` Bernard Iremonger
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
                     ` (3 more replies)
  1 sibling, 4 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-06 16:01 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This pachset set describes the procedure to Live migrate
a VM with Virtio and VF PMD's using the bonding PMD.

Changes in v2:
change primary port before removing slave port
remove unused variables from QEMU scripts
identify NIC's in bridge setup scripts

Bernard Iremonger (2):
  doc: live migration of VM with Virtio and VF
  doc: add live migration overview image

 doc/guides/how_to/img/lm_overview.svg      | 666 +++++++++++++++++++++++++++
 doc/guides/how_to/index.rst                |  38 ++
 doc/guides/how_to/lm_bond_virtio_sriov.rst | 693 +++++++++++++++++++++++++++++
 doc/guides/index.rst                       |   3 +-
 4 files changed, 1399 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/how_to/img/lm_overview.svg
 create mode 100644 doc/guides/how_to/index.rst
 create mode 100644 doc/guides/how_to/lm_bond_virtio_sriov.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
@ 2016-07-06 16:01   ` Bernard Iremonger
  2016-07-06 16:28     ` Thomas Monjalon
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 2/2] doc: add live migration overview image Bernard Iremonger
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-06 16:01 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch describes the procedure to be be followed
to perform Live Migration of a VM with Virtio and VF PMD's
using the bonding PMD.

It includes sample host and VM scripts used in the procedure,
and a sample switch configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/how_to/index.rst                |  38 ++
 doc/guides/how_to/lm_bond_virtio_sriov.rst | 690 +++++++++++++++++++++++++++++
 doc/guides/index.rst                       |   3 +-
 3 files changed, 730 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/how_to/index.rst
 create mode 100644 doc/guides/how_to/lm_bond_virtio_sriov.rst

diff --git a/doc/guides/how_to/index.rst b/doc/guides/how_to/index.rst
new file mode 100644
index 0000000..4b97a32
--- /dev/null
+++ b/doc/guides/how_to/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+How To User Guide
+=================
+
+.. toctree::
+    :maxdepth: 3
+    :numbered:
+
+    lm_bond_virtio_sriov
diff --git a/doc/guides/how_to/lm_bond_virtio_sriov.rst b/doc/guides/how_to/lm_bond_virtio_sriov.rst
new file mode 100644
index 0000000..66b5e62
--- /dev/null
+++ b/doc/guides/how_to/lm_bond_virtio_sriov.rst
@@ -0,0 +1,690 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Live Migration of VM with SR-IOV VF:
+====================================
+
+Live Migration overview for VM with Virtio and VF PMD's:
+--------------------------------------------------------
+
+It is not possible to migrate a Virtual Machine which has an SR-IOV Virtual Function.
+To get around this problem the bonding PMD is used.
+
+A bonded device is created in the VM.
+The virtio and VF PMD's are added as slaves to the bonded device.
+The VF is set as the primary slave of the bonded device.
+
+A bridge must be set up on the Host connecting the tap device, which is the
+backend of the Virtio device and the Physical Function device.
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and Qemu 2.3 is also required on the servers.
+
+The servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+
+Live Migration with SR-IOV VF test setup:
+-----------------------------------------
+
+
+Live Migration steps for VM with Virtio and VF PMD's:
+-----------------------------------------------------
+
+The host is running the Kernel Physical Function driver (ixgbe or i40e).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+The sample scripts mentioned in the steps below can be found in the host_scripts
+and vm_scripts sections.
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_46.sh
+
+For Fortville NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_i40e_212_46.sh
+
+For Niantic NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_one_212_46.sh
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_bridge_on_212_46.sh
+    ./connect_to_qemu_mon_on_host.sh
+    (qemu)
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    cd /root/dpdk/vm_scripts
+    ./setup_dpdk_in_vm.sh
+    ./run_testpmd_bonding_in_vm.sh
+
+    testpmd> show port info all
+
+The following command only works with kernel PF for Niantic
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+
+create bonded device(mode) (socket)
+
+Mode 1 is active backup.
+
+Virtio is port 0.
+
+VF is port 1.
+
+.. code-block:: console
+
+    testpmd> create bonded device 1 0
+    Created new bonded device eth_bond_testpmd_0 on (port 2).
+    testpmd> add bonding slave 0 2
+    testpmd> add bonding slave 1 2
+    testpmd> show bonding config 2
+
+set bonding primary (slave id) (port id)
+
+set primary to 1 before starting bonding port
+
+.. code-block:: console
+
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> port start 2
+    Port 2: 02:09:C0:68:99:A5
+    Checking link statuses...
+    Port 0 Link Up - speed 10000 Mbps - full-duplex
+    Port 1 Link Up - speed 10000 Mbps - full-duplex
+    Port 2 Link Up - speed 10000 Mbps - full-duplex
+
+    testpmd> show bonding config 2
+
+primary is port 1, 2 active slaves
+
+use port 2 only for forwarding
+
+.. code-block:: console
+
+    testpmd> set portlist 2
+    testpmd> show config fwd
+    testpmd> set fwd mac
+    testpmd> start
+    testpmd> show bonding config 2
+
+primary is 1, 2 active slaves
+
+.. code-block:: console
+
+    testpmd> show port stats all
+
+VF traffic seen at P1 and P2
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> set bonding primary 0 2
+    testpmd> remove bonding slave 1 2
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2 , VF MAC address still present.
+
+.. code-block:: console
+
+    testpmd> port stop 1
+    testpmd> port close 1
+
+Port close should remove VF MAC address, it does not remove perm_addr.
+
+The following command only works with kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr remove 1 AA:BB:CC:DD:EE:FF
+    testpmd> port detach 1
+    Port '0000:00:04.0' is detached. Now total ports is 2
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) device_del vf1
+
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> show port info all
+    testpmd> show port stats all
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_131.sh
+    ./vm_virtio_one_migrate.sh
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   ./setup_bridge_on_212_131.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Check that switch is up before migrating
+
+.. code-block:: console
+
+    (qemu) migrate tcp:10.237.212.131:5555
+    (qemu) info status
+    VM status: paused (postmigrate)
+
+    /* for Ninatic ixgbe PF */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11834 milliseconds
+    downtime: 18 milliseconds
+    setup: 3 milliseconds
+    transferred ram: 389137 kbytes
+    throughput: 269.49 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 301620 pages
+    skipped: 0 pages
+    normal: 96433 pages
+    normal bytes: 385732 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+    /* for Fortville i40e PF  */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11619 milliseconds
+    downtime: 5 milliseconds
+    setup: 7 milliseconds
+    transferred ram: 379699 kbytes
+    throughput: 267.82 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 303985 pages
+    skipped: 0 pages
+    normal: 94073 pages
+    normal bytes: 376292 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+    Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+    testpmd>
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) info status
+    VM status: running
+
+for Niantic NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=06:10.0,id=vf1
+
+for Fortville NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=03:02.0,id=vf1
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+    testomd> show port info all
+    testpmd> show port stats all
+    testpmd> show bonding config 2
+    testpmd> port attach 0000:00:04.0
+    Port 1 is attached.
+    Now total ports is 3
+    Done
+
+    testpmd> port start 1
+
+The mac_addr command only works with the Kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+    testpmd> show port stats all.
+    testpmd> show config fwd
+    testpmd> show bonding config 2
+    testpmd> add bonding slave 1 2
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+.. code-block:: console
+
+    testpmd> remove bonding slave 0 2
+    testpmd> show bonding config 2
+    testpmd> port stop 0
+    testpmd> port close 0
+    testpmd> port detach 0
+    Port '0000:00:03.0' is detached. Now total ports is 2
+
+    testpmd> show port info all
+    testpmd> show config fwd
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+sample host scripts
+-------------------
+
+setup_vf_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_vf_one_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -device pci-assign,host=09:10.0,id=vf1 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the bridge
+  # for the Tap device and the PF device.
+  # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+  # ens3f0 is the Niantic NIC
+  # ens6f0 is the Fortville NIC
+
+  ifconfig ens3f0 down
+  ifconfig tap1 down
+  ifconfig ens6f0 down
+  ifconfig virbr0 down
+
+  brctl show virbr0
+  brctl addif virbr0 ens3f0
+  brctl addif virbr0 ens6f0
+  brctl addif virbr0 tap1
+  brctl show virbr0
+
+  ifconfig ens3f0 up
+  ifconfig tap1 up
+  ifconfig ens6f0 up
+  ifconfig virbr0 up
+
+connect_to_qemu_mon_on_host.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on both hosts when the VM is up,
+  # to connect to the Qemu Monitor.
+
+  telnet 0 3333
+
+setup_vf_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.131 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_one_migrate.sh
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Start the VM on host_server_2 with the same parameters except without the VF
+  # parameters, as the VM on host_server_1, in migration-listen mode
+  # (-incoming tcp:0:5555)
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens4f0 is the Niantic NIC
+   # ens5f0 is the Fortville NIC
+
+   ifconfig ens4f0 down
+   ifconfig tap1 down
+   ifconfig ens5f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens4f0
+   brctl addif virbr0 ens5f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens4f0 up
+   ifconfig tap1 up
+   ifconfig ens5f0 up
+   ifconfig virbr0 up
+
+sample VM scripts
+-----------------
+
+Set up DPDK in the Virtual Machine
+
+setup_dpdk_in_vm.sh
+^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # this script matches the vm_virtio_vf_one script
+  # virtio port is 03
+  # vf port is 04
+
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+  ifconfig -a
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+  rmmod virtio-pci ixgbevf
+
+  modprobe uio
+  insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+
+run_testpmd_bonding_in_vm.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run testpmd in the Virtual Machine.
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Run testpmd in the VM
+
+  # The test system has 8 cpus (0-7), use cpus 2-7 for VM
+  # Use taskset -pc <core number> <thread_id>
+
+  # use for bonding of virtio and vf tests in VM
+
+  /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+  -c f -n 4 --socket-mem 350 --  --i --port-topology=chained
+
+sample Switch configuration
+---------------------------
+
+The Intel Switch is used to connect the traffic generator to the
+NIC's on host_server_1 and host_server_2.
+
+In order to run the switch configuration two console windows are required.
+
+Log in as root in both windows.
+
+TestPointShared, run_switch.sh and load /root/switch_config must be executed
+in the sequence below.
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+run TestPointShared
+
+.. code-block:: console
+
+  /usr/bin/TestPointShared
+
+On Switch: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^
+
+execute run_switch.sh
+
+.. code-block:: console
+
+  /root/run_switch.sh
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+load switch configuration
+
+.. code-block:: console
+
+  load /root/switch_config
+
+Sample switch configuration script
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   /root/switch_config
+
+.. code-block:: sh
+
+  # TestPoint History
+  show port 1,5,9,13,17,21,25
+  set port 1,5,9,13,17,21,25 up
+  show port 1,5,9,13,17,21,25
+  del acl 1
+  create acl 1
+  create acl-port-set
+  create acl-port-set
+  add port port-set 1 0
+  add port port-set 5,9,13,17,21,25 1
+  create acl-rule 1 1
+  add acl-rule condition 1 1 port-set 1
+  add acl-rule action 1 1 redirect 1
+  apply acl
+  create vlan 1000
+  add vlan port 1000 1,5,9,13,17,21,25
+  set vlan tagging 1000 1,5,9,13,17,21,25 tag
+  set switch config flood_ucast fwd
+  show port stats all 1,5,9,13,17,21,25
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 7aef7a3..8a0a359 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -1,5 +1,5 @@
 ..  BSD LICENSE
-    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
@@ -45,3 +45,4 @@ DPDK documentation
    faq/index
    rel_notes/index
    contributing/index
+   how_to/index
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] doc: add live migration overview image
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-06 16:01   ` Bernard Iremonger
  2016-07-06 16:25   ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
  3 siblings, 0 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-06 16:01 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch adds an image of the Live Migration test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/how_to/img/lm_overview.svg      | 666 +++++++++++++++++++++++++++++
 doc/guides/how_to/lm_bond_virtio_sriov.rst |   3 +
 2 files changed, 669 insertions(+)
 create mode 100644 doc/guides/how_to/img/lm_overview.svg

diff --git a/doc/guides/how_to/img/lm_overview.svg b/doc/guides/how_to/img/lm_overview.svg
new file mode 100644
index 0000000..d913ae0
--- /dev/null
+++ b/doc/guides/how_to/img/lm_overview.svg
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_overview.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="397.3839"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1432"
+     inkscape:window-height="1000"
+     inkscape:window-x="137"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="479.5618"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1576.4685"
+         y="479.5618">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.05627"
+       y="476.78903"
+       id="text3082"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3084"
+         x="-947.05627"
+         y="476.78903">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1574.15"
+       y="575.35333"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967575)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-1574.15"
+         y="575.35333">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-855.08612"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604834)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-855.08612"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="257.27686"
+       height="100.60838"
+       x="-1043.5138"
+       y="187.8994" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="232.86263"
+       id="text3108"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110"
+         x="-912.34381"
+         y="232.86263">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="274.9668"
+       id="text3880"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882"
+         x="-912.34381"
+         y="274.9668">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-912.34381"
+         y="298.15558"
+         id="tspan3884">virtio and VF slaves</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="257.27686"
+       height="100.60838"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4333"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1541.4333"
+         y="233.58643">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4845"
+       y="274.63931"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1541.4845"
+         y="274.63931">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-1541.4845"
+         y="297.82809"
+         id="tspan3884-8">virtio and VF slaves</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="504.73169"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1576.4685"
+         y="504.73169">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.43506"
+       y="500.51361"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-947.43506"
+         y="500.51361">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.308"
+       y="548.3703"
+       id="text3976-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3"
+         x="-1575.308"
+         y="548.3703">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-1575.308"
+         y="571.55908"
+         id="tspan3075">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.61458333;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-978.67279"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.30841"
+       y="544.97314"
+       id="text3976-9-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3-7"
+         x="-947.30841"
+         y="544.97314">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-947.30841"
+         y="568.16193"
+         id="tspan3075-1">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>  </g>
+</svg>
diff --git a/doc/guides/how_to/lm_bond_virtio_sriov.rst b/doc/guides/how_to/lm_bond_virtio_sriov.rst
index 66b5e62..f9d3667 100644
--- a/doc/guides/how_to/lm_bond_virtio_sriov.rst
+++ b/doc/guides/how_to/lm_bond_virtio_sriov.rst
@@ -57,6 +57,9 @@ The switch is configured to broadcast traffic on all the NIC ports.
 Live Migration with SR-IOV VF test setup:
 -----------------------------------------
 
+.. _figure_lm_overview:
+
+.. figure:: img/lm_overview.*
 
 Live Migration steps for VM with Virtio and VF PMD's:
 -----------------------------------------------------
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-06 16:25   ` Thomas Monjalon
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
  3 siblings, 0 replies; 37+ messages in thread
From: Thomas Monjalon @ 2016-07-06 16:25 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: dev, john.mcnamara, yong.liu, qian.q.xu

Hi Bernard,

2016-07-06 17:01, Bernard Iremonger:
> This pachset set describes the procedure to Live migrate
> a VM with Virtio and VF PMD's using the bonding PMD.
[...]
>  doc/guides/how_to/img/lm_overview.svg      | 666 +++++++++++++++++++++++++++
>  doc/guides/how_to/index.rst                |  38 ++
>  doc/guides/how_to/lm_bond_virtio_sriov.rst | 693 +++++++++++++++++++++++++++++
>  doc/guides/index.rst                       |   3 +-

I'm surprised to see an howto appearing in the repository.
My first reaction is: how hard will it be to maintain up-to-date?
Otherwise I don't see any other reason to not accept it.
It's eventually a good idea :)

Opinion from others?

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF
  2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-06 16:28     ` Thomas Monjalon
  2016-07-07  8:44       ` Iremonger, Bernard
  0 siblings, 1 reply; 37+ messages in thread
From: Thomas Monjalon @ 2016-07-06 16:28 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: dev, john.mcnamara, yong.liu, qian.q.xu

2016-07-06 17:01, Bernard Iremonger:
> @@ -45,3 +45,4 @@ DPDK documentation
>     faq/index
>     rel_notes/index
>     contributing/index
> +   how_to/index

2 personal opinions:
- I feel a directory "howto" (without underscore) would be nice.
- The position in the index could be just after the faq.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF
  2016-07-06 16:28     ` Thomas Monjalon
@ 2016-07-07  8:44       ` Iremonger, Bernard
  0 siblings, 0 replies; 37+ messages in thread
From: Iremonger, Bernard @ 2016-07-07  8:44 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Mcnamara, John, Liu, Yong, Xu, Qian Q

Hi Thomas,

<snip>
> Subject: Re: [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio
> and VF
> 
> 2016-07-06 17:01, Bernard Iremonger:
> > @@ -45,3 +45,4 @@ DPDK documentation
> >     faq/index
> >     rel_notes/index
> >     contributing/index
> > +   how_to/index
> 
> 2 personal opinions:
> - I feel a directory "howto" (without underscore) would be nice.
> - The position in the index could be just after the faq.

I will rename the directory how_to to howto and move to after faq and send a v3.

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure
  2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
                     ` (2 preceding siblings ...)
  2016-07-06 16:25   ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
@ 2016-07-07 10:42   ` Bernard Iremonger
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
                       ` (3 more replies)
  3 siblings, 4 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-07 10:42 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This pachset set describes the procedure to Live migrate
a VM with Virtio and VF PMD's using the bonding PMD.

Changes in v3:
rename directory from how_to to howto
move to after FAQ in the index

Changes in v2:
change primary port before removing slave port
remove unused variables from QEMU scripts
identify NIC's in bridge setup scripts

Bernard Iremonger (2):
  doc: live migration of VM with Virtio and VF
  doc: add live migration overview image

 doc/guides/howto/img/lm_overview.svg      | 666 ++++++++++++++++++++++++++++
 doc/guides/howto/index.rst                |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst | 693 ++++++++++++++++++++++++++++++
 doc/guides/index.rst                      |   1 +
 4 files changed, 1398 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_overview.svg
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
@ 2016-07-07 10:42     ` Bernard Iremonger
  2016-07-15 10:50       ` Mcnamara, John
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 2/2] doc: add live migration overview image Bernard Iremonger
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-07 10:42 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch describes the procedure to be be followed
to perform Live Migration of a VM with Virtio and VF PMD's
using the bonding PMD.

It includes sample host and VM scripts used in the procedure,
and a sample switch configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/index.rst                |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst | 689 ++++++++++++++++++++++++++++++
 doc/guides/index.rst                      |   1 +
 3 files changed, 728 insertions(+)
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
new file mode 100644
index 0000000..4b97a32
--- /dev/null
+++ b/doc/guides/howto/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+How To User Guide
+=================
+
+.. toctree::
+    :maxdepth: 3
+    :numbered:
+
+    lm_bond_virtio_sriov
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
new file mode 100644
index 0000000..68bb0ea
--- /dev/null
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -0,0 +1,689 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Live Migration of VM with SR-IOV VF:
+====================================
+
+Live Migration overview for VM with Virtio and VF PMD's:
+--------------------------------------------------------
+
+It is not possible to migrate a Virtual Machine which has an SR-IOV Virtual Function.
+To get around this problem the bonding PMD is used.
+
+A bonded device is created in the VM.
+The virtio and VF PMD's are added as slaves to the bonded device.
+The VF is set as the primary slave of the bonded device.
+
+A bridge must be set up on the Host connecting the tap device, which is the
+backend of the Virtio device and the Physical Function device.
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and Qemu 2.3 is also required on the servers.
+
+The servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+
+Live Migration with SR-IOV VF test setup:
+-----------------------------------------
+
+Live Migration steps for VM with Virtio and VF PMD's:
+-----------------------------------------------------
+
+The host is running the Kernel Physical Function driver (ixgbe or i40e).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+The sample scripts mentioned in the steps below can be found in the host_scripts
+and vm_scripts sections.
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_46.sh
+
+For Fortville NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_i40e_212_46.sh
+
+For Niantic NIC
+
+.. code-block:: console
+
+    ./vm_virtio_vf_one_212_46.sh
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_bridge_on_212_46.sh
+    ./connect_to_qemu_mon_on_host.sh
+    (qemu)
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    cd /root/dpdk/vm_scripts
+    ./setup_dpdk_in_vm.sh
+    ./run_testpmd_bonding_in_vm.sh
+
+    testpmd> show port info all
+
+The following command only works with kernel PF for Niantic
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+
+create bonded device(mode) (socket)
+
+Mode 1 is active backup.
+
+Virtio is port 0.
+
+VF is port 1.
+
+.. code-block:: console
+
+    testpmd> create bonded device 1 0
+    Created new bonded device eth_bond_testpmd_0 on (port 2).
+    testpmd> add bonding slave 0 2
+    testpmd> add bonding slave 1 2
+    testpmd> show bonding config 2
+
+set bonding primary (slave id) (port id)
+
+set primary to 1 before starting bonding port
+
+.. code-block:: console
+
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> port start 2
+    Port 2: 02:09:C0:68:99:A5
+    Checking link statuses...
+    Port 0 Link Up - speed 10000 Mbps - full-duplex
+    Port 1 Link Up - speed 10000 Mbps - full-duplex
+    Port 2 Link Up - speed 10000 Mbps - full-duplex
+
+    testpmd> show bonding config 2
+
+primary is port 1, 2 active slaves
+
+use port 2 only for forwarding
+
+.. code-block:: console
+
+    testpmd> set portlist 2
+    testpmd> show config fwd
+    testpmd> set fwd mac
+    testpmd> start
+    testpmd> show bonding config 2
+
+primary is 1, 2 active slaves
+
+.. code-block:: console
+
+    testpmd> show port stats all
+
+VF traffic seen at P1 and P2
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> set bonding primary 0 2
+    testpmd> remove bonding slave 1 2
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> clear port stats all
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2 , VF MAC address still present.
+
+.. code-block:: console
+
+    testpmd> port stop 1
+    testpmd> port close 1
+
+Port close should remove VF MAC address, it does not remove perm_addr.
+
+The following command only works with kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr remove 1 AA:BB:CC:DD:EE:FF
+    testpmd> port detach 1
+    Port '0000:00:04.0' is detached. Now total ports is 2
+    testpmd> show port stats all
+
+no VF traffic seen at P0 and P2
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) device_del vf1
+
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+    testpmd> show bonding config 2
+
+primary is 0, active slaves 1
+
+.. code-block:: console
+
+    testpmd> show port info all
+    testpmd> show port stats all
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_vf_on_212_131.sh
+    ./vm_virtio_one_migrate.sh
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   ./setup_bridge_on_212_131.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Check that switch is up before migrating
+
+.. code-block:: console
+
+    (qemu) migrate tcp:10.237.212.131:5555
+    (qemu) info status
+    VM status: paused (postmigrate)
+
+    /* for Ninatic ixgbe PF */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11834 milliseconds
+    downtime: 18 milliseconds
+    setup: 3 milliseconds
+    transferred ram: 389137 kbytes
+    throughput: 269.49 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 301620 pages
+    skipped: 0 pages
+    normal: 96433 pages
+    normal bytes: 385732 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+    /* for Fortville i40e PF  */
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11619 milliseconds
+    downtime: 5 milliseconds
+    setup: 7 milliseconds
+    transferred ram: 379699 kbytes
+    throughput: 267.82 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 303985 pages
+    skipped: 0 pages
+    normal: 94073 pages
+    normal bytes: 376292 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+    Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+    testpmd>
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+    (qemu) info status
+    VM status: running
+
+for Niantic NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=06:10.0,id=vf1
+
+for Fortville NIC
+
+.. code-block:: console
+
+    (qemu) device_add pci-assign,host=03:02.0,id=vf1
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+    testomd> show port info all
+    testpmd> show port stats all
+    testpmd> show bonding config 2
+    testpmd> port attach 0000:00:04.0
+    Port 1 is attached.
+    Now total ports is 3
+    Done
+
+    testpmd> port start 1
+
+The mac_addr command only works with the Kernel PF for Niantic.
+
+.. code-block:: console
+
+    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+    testpmd> show port stats all.
+    testpmd> show config fwd
+    testpmd> show bonding config 2
+    testpmd> add bonding slave 1 2
+    testpmd> set bonding primary 1 2
+    testpmd> show bonding config 2
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+.. code-block:: console
+
+    testpmd> remove bonding slave 0 2
+    testpmd> show bonding config 2
+    testpmd> port stop 0
+    testpmd> port close 0
+    testpmd> port detach 0
+    Port '0000:00:03.0' is detached. Now total ports is 2
+
+    testpmd> show port info all
+    testpmd> show config fwd
+    testpmd> show port stats all
+
+VF traffic seen at P1 (VF) and P2 (Bonded device).
+
+sample host scripts
+-------------------
+
+setup_vf_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_vf_one_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -device pci-assign,host=09:10.0,id=vf1 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_1
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.46 to setup the bridge
+  # for the Tap device and the PF device.
+  # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+  # ens3f0 is the Niantic NIC
+  # ens6f0 is the Fortville NIC
+
+  ifconfig ens3f0 down
+  ifconfig tap1 down
+  ifconfig ens6f0 down
+  ifconfig virbr0 down
+
+  brctl show virbr0
+  brctl addif virbr0 ens3f0
+  brctl addif virbr0 ens6f0
+  brctl addif virbr0 tap1
+  brctl show virbr0
+
+  ifconfig ens3f0 up
+  ifconfig tap1 up
+  ifconfig ens6f0 up
+  ifconfig virbr0 up
+
+connect_to_qemu_mon_on_host.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on both hosts when the VM is up,
+  # to connect to the Qemu Monitor.
+
+  telnet 0 3333
+
+setup_vf_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^
+
+Set up Virtual Functions on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.131 to setup the VF
+
+  # set up Niantic VF
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+  rmmod ixgbevf
+
+  # set up Fortville VF
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  echo 1 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+  rmmod i40evf
+
+vm_virtio_one_migrate.sh
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup Virtual Machine on host_server_2
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Start the VM on host_server_2 with the same parameters except without the VF
+  # parameters, as the VM on host_server_1, in migration-listen mode
+  # (-incoming tcp:0:5555)
+
+  # Path to KVM tool
+  KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+  # Guest Disk image
+  DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+  # Number of guest cpus
+  VCPUS_NR="4"
+
+  # Memory
+  MEM=1536
+
+  taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup bridge on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens4f0 is the Niantic NIC
+   # ens5f0 is the Fortville NIC
+
+   ifconfig ens4f0 down
+   ifconfig tap1 down
+   ifconfig ens5f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens4f0
+   brctl addif virbr0 ens5f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens4f0 up
+   ifconfig tap1 up
+   ifconfig ens5f0 up
+   ifconfig virbr0 up
+
+sample VM scripts
+-----------------
+
+Set up DPDK in the Virtual Machine
+
+setup_dpdk_in_vm.sh
+^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # this script matches the vm_virtio_vf_one script
+  # virtio port is 03
+  # vf port is 04
+
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+  ifconfig -a
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+  rmmod virtio-pci ixgbevf
+
+  modprobe uio
+  insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+
+run_testpmd_bonding_in_vm.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Run testpmd in the Virtual Machine.
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # Run testpmd in the VM
+
+  # The test system has 8 cpus (0-7), use cpus 2-7 for VM
+  # Use taskset -pc <core number> <thread_id>
+
+  # use for bonding of virtio and vf tests in VM
+
+  /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+  -c f -n 4 --socket-mem 350 --  --i --port-topology=chained
+
+sample Switch configuration
+---------------------------
+
+The Intel Switch is used to connect the traffic generator to the
+NIC's on host_server_1 and host_server_2.
+
+In order to run the switch configuration two console windows are required.
+
+Log in as root in both windows.
+
+TestPointShared, run_switch.sh and load /root/switch_config must be executed
+in the sequence below.
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+run TestPointShared
+
+.. code-block:: console
+
+  /usr/bin/TestPointShared
+
+On Switch: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^
+
+execute run_switch.sh
+
+.. code-block:: console
+
+  /root/run_switch.sh
+
+On Switch: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^
+
+load switch configuration
+
+.. code-block:: console
+
+  load /root/switch_config
+
+Sample switch configuration script
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+   /root/switch_config
+
+.. code-block:: sh
+
+  # TestPoint History
+  show port 1,5,9,13,17,21,25
+  set port 1,5,9,13,17,21,25 up
+  show port 1,5,9,13,17,21,25
+  del acl 1
+  create acl 1
+  create acl-port-set
+  create acl-port-set
+  add port port-set 1 0
+  add port port-set 5,9,13,17,21,25 1
+  create acl-rule 1 1
+  add acl-rule condition 1 1 port-set 1
+  add acl-rule action 1 1 redirect 1
+  apply acl
+  create vlan 1000
+  add vlan port 1000 1,5,9,13,17,21,25
+  set vlan tagging 1000 1,5,9,13,17,21,25 tag
+  set switch config flood_ucast fwd
+  show port stats all 1,5,9,13,17,21,25
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 7aef7a3..0441859 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -43,5 +43,6 @@ DPDK documentation
    sample_app_ug/index
    testpmd_app_ug/index
    faq/index
+   howto/index
    rel_notes/index
    contributing/index
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 2/2] doc: add live migration overview image
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-07 10:42     ` Bernard Iremonger
  2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  3 siblings, 0 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-07 10:42 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, Bernard Iremonger

This patch adds an image of the Live Migration test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/img/lm_overview.svg      | 666 ++++++++++++++++++++++++++++++
 doc/guides/howto/lm_bond_virtio_sriov.rst |   4 +
 2 files changed, 670 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_overview.svg

diff --git a/doc/guides/howto/img/lm_overview.svg b/doc/guides/howto/img/lm_overview.svg
new file mode 100644
index 0000000..d913ae0
--- /dev/null
+++ b/doc/guides/howto/img/lm_overview.svg
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_overview.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="397.3839"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1432"
+     inkscape:window-height="1000"
+     inkscape:window-x="137"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="479.5618"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1576.4685"
+         y="479.5618">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.05627"
+       y="476.78903"
+       id="text3082"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3084"
+         x="-947.05627"
+         y="476.78903">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1574.15"
+       y="575.35333"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967575)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-1574.15"
+         y="575.35333">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-855.08612"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604834)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-855.08612"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="257.27686"
+       height="100.60838"
+       x="-1043.5138"
+       y="187.8994" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="232.86263"
+       id="text3108"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110"
+         x="-912.34381"
+         y="232.86263">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="274.9668"
+       id="text3880"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882"
+         x="-912.34381"
+         y="274.9668">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-912.34381"
+         y="298.15558"
+         id="tspan3884">virtio and VF slaves</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="257.27686"
+       height="100.60838"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4333"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1541.4333"
+         y="233.58643">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4845"
+       y="274.63931"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1541.4845"
+         y="274.63931">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-1541.4845"
+         y="297.82809"
+         id="tspan3884-8">virtio and VF slaves</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="504.73169"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1576.4685"
+         y="504.73169">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.43506"
+       y="500.51361"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-947.43506"
+         y="500.51361">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.308"
+       y="548.3703"
+       id="text3976-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3"
+         x="-1575.308"
+         y="548.3703">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-1575.308"
+         y="571.55908"
+         id="tspan3075">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.61458333;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-978.67279"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.30841"
+       y="544.97314"
+       id="text3976-9-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3-7"
+         x="-947.30841"
+         y="544.97314">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-947.30841"
+         y="568.16193"
+         id="tspan3075-1">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>  </g>
+</svg>
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 68bb0ea..f9d3667 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -57,6 +57,10 @@ The switch is configured to broadcast traffic on all the NIC ports.
 Live Migration with SR-IOV VF test setup:
 -----------------------------------------
 
+.. _figure_lm_overview:
+
+.. figure:: img/lm_overview.*
+
 Live Migration steps for VM with Virtio and VF PMD's:
 -----------------------------------------------------
 
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-13 15:35     ` Bernard Iremonger
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
                         ` (2 more replies)
  2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  3 siblings, 3 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-13 15:35 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patchset describes the procedure to Live migrate a VM with
Virtio PMD's with the vhost_user sample application (vhost-switch)
running on the host.

This patchset depends on the following patch:
http://dpdk.org/dev/patchwork/patch/14625

Changes in v2:
removed l2fwd information
minor changes to svg file

Bernard Iremonger (2):
  doc: live migration of VM with vhost_user on host
  doc: add vhost_user live migration image

 doc/guides/howto/img/lm_vhost_user.svg    | 644 ++++++++++++++++++++++++++++++
 doc/guides/howto/index.rst                |   1 +
 doc/guides/howto/lm_virtio_vhost_user.rst | 459 +++++++++++++++++++++
 3 files changed, 1104 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_vhost_user.svg
 create mode 100644 doc/guides/howto/lm_virtio_vhost_user.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
  2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
@ 2016-07-13 15:36       ` Bernard Iremonger
  2016-07-17 18:12         ` Mcnamara, John
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 2/2] doc: add vhost_user live migration image Bernard Iremonger
  2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-13 15:36 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch describes the procedure to be be followed to perform
Live Migration of a VM with Virtio PMD running on a host which
is running the vhost_user sample application (vhost-switch).

It includes sample host and VM scripts used in the procedure.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/index.rst                |   1 +
 doc/guides/howto/lm_virtio_vhost_user.rst | 455 ++++++++++++++++++++++++++++++
 2 files changed, 456 insertions(+)
 create mode 100644 doc/guides/howto/lm_virtio_vhost_user.rst

diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
index 4b97a32..d3e3a90 100644
--- a/doc/guides/howto/index.rst
+++ b/doc/guides/howto/index.rst
@@ -36,3 +36,4 @@ How To User Guide
     :numbered:
 
     lm_bond_virtio_sriov
+    lm_virtio_vhost_user
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
new file mode 100644
index 0000000..2de3ef7
--- /dev/null
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -0,0 +1,455 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Live Migration of VM with Virtio on host running vhost_user:
+============================================================
+
+Live Migration overview for VM with Virtio:
+-------------------------------------------
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and QEMU is also required on the servers.
+
+QEMU 2.5 is required for Live Migration of a VM with vhost_user running on the hosts.
+
+The servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+
+Live Migration with Virtio and vhost_user test setup:
+-----------------------------------------------------
+
+Live Migration steps for VM with Virtio PMD and vhost_user on host:
+-------------------------------------------------------------------
+
+The host is running the DPDK PMD (ixgbe or i40e) and the DPDK vhost_user
+sample application (vhost-switch).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+The sample scripts mentioned in the steps below can be found in the host_scripts
+and vm_scripts sections.
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Setup DPDK on host_server_1
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_dpdk_on_host.sh
+
+On host_server_1: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Bind the Niantic or Fortville NIC to igb_uio on host_server_1.
+
+For Fortville NIC
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:02:00.0
+
+For Niantic NIC
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:09:00.0
+
+On host_server_1: Terminal 3
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For Fortville and Niantic NIC's reset SRIOV and run the
+vhost_user sample application (vhost-switch) on host_server_1.
+
+.. code-block:: console
+
+     cd /root/dpdk/host_scripts
+    ./reset_vf_on_212_46.sh
+    ./run_vhost_switch_on_host.sh
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start the VM on host_server_1
+
+.. code-block:: console
+
+   ./vm_virtio_vhost_user.sh
+
+On host_server_1: Terminal 4
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Connect to the QEMU monitor on host_server_1
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./connect_to_qemu_mon_on_host.sh
+    (qemu)
+
+On host_server_1: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_1:**
+
+Setup DPDK in the VM and run testpmd in the VM.
+
+.. code-block:: console
+
+    cd /root/dpdk/vm_scripts
+    ./setup_dpdk_in_vm.sh
+    ./run_testpmd_in_vm.sh
+
+    testpmd> show port info all
+    testpmd> set fwd mac retry
+    testpmd> start tx_first
+    testpmd> show port stats all
+
+Virtio traffic seen at P1 and P2
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set up DPDK on the host_server_2
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./setup_dpdk_on_host.sh
+
+On host_server_2: Terminal 2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Bind the Niantic or Fortville NIC to igb_uio on host_server_2
+
+For Fortville NIC
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:03:00.0
+
+For Niantic NIC
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:06:00.0
+
+On host_server_2: Terminal 3
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For Fortville and Niantic NIC's reset SRIOV, and run
+the vhost_user sample application on host_server_2.
+
+.. code-block:: console
+
+     cd /root/dpdk/host_scripts
+    ./reset_vf_on_212_131.sh
+    ./run_vhost_switch_on_host.sh
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Start the VM on host_server_2
+
+.. code-block:: console
+
+   ./vm_virtio_vhost_user_migrate.sh
+
+On host_server_2: Terminal 4
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Connect to the QEMU monitor on host_server_2
+
+.. code-block:: console
+
+    cd /root/dpdk/host_scripts
+    ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+On host_server_1: Terminal 4
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Check that switch is up before migrating the VM
+
+.. code-block:: console
+
+    (qemu) migrate tcp:10.237.212.131:5555
+    (qemu) info status
+    VM status: paused (postmigrate)
+
+    (qemu) info migrate
+    capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+    Migration status: completed
+    total time: 11619 milliseconds
+    downtime: 5 milliseconds
+    setup: 7 milliseconds
+    transferred ram: 379699 kbytes
+    throughput: 267.82 mbps
+    remaining ram: 0 kbytes
+    total ram: 1590088 kbytes
+    duplicate: 303985 pages
+    skipped: 0 pages
+    normal: 94073 pages
+    normal bytes: 376292 kbytes
+    dirty sync count: 2
+    (qemu) quit
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+    Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+    testpmd>
+
+On host_server_2: Terminal 4
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In QEMU monitor on host_server_2**
+
+.. code-block:: console
+
+    (qemu) info status
+    VM status: running
+
+On host_server_2: Terminal 1
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+   testomd> show port info all
+   testpmd> show port stats all
+
+Virtio traffic seen at P0 and P1.
+
+sample host scripts
+-------------------
+
+reset_vf_on_212_46.sh
+^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to reset SRIOV
+
+   # BDF for Fortville NIC is 0000:02:00.0
+   cat /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+
+   # BDF for Niantic NIC is 0000:09:00.0
+   cat /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+
+vm_virtio_vhost_user.sh
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+   #/bin/sh
+   # Script for use with vhost_user sample application
+   # The host system has 8 cpu's (0-7)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/user/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="6"
+
+   # Memory
+   MEM=1024
+
+   VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+   # Socket Path
+   SOCKET_PATH="/root/dpdk/host_scripts/usvhost"
+
+   taskset -c 2-7 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -object memory-backend-file,id=mem,size=1024M,mem-path=/mnt/huge,share=on \
+    -numa node,memdev=mem,nodeid=0 \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none \
+    -nographic \
+    -hda $DISK_IMG \
+    -chardev socket,id=chr0,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net1,chardev=chr0,vhostforce \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -chardev socket,id=chr1,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net2,chardev=chr1,vhostforce \
+    -device virtio-net-pci,netdev=net2,mac=DD:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -monitor telnet::3333,server,nowait
+
+connect_to_qemu_mon_on_host.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on both hosts when the VM is up,
+  # to connect to the Qemu Monitor.
+
+  telnet 0 3333
+
+reset_vf_on_212_131.sh
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # This script is run on the host 10.237.212.131 to reset SRIOV
+
+  # BDF for Ninatic NIC is 0000:06:00.0
+  cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+  echo 0 > /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+  cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+
+  # BDF for Fortville NIC is 0000:03:00.0
+  cat /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+  echo 0 > /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+  cat /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+
+vm_virtio_vhost_user_migrate.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+   #/bin/sh
+   # Script for use with vhost user sample application
+   # The host system has 8 cpu's (0-7)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/user/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="6"
+
+   # Memory
+   MEM=1024
+
+   VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+   # Socket Path
+   SOCKET_PATH="/root/dpdk/host_scripts/usvhost"
+
+   taskset -c 2-7 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -object memory-backend-file,id=mem,size=1024M,mem-path=/mnt/huge,share=on \
+    -numa node,memdev=mem,nodeid=0 \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none \
+    -nographic \
+    -hda $DISK_IMG \
+    -chardev socket,id=chr0,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net1,chardev=chr0,vhostforce \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -chardev socket,id=chr1,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net2,chardev=chr1,vhostforce \
+    -device virtio-net-pci,netdev=net2,mac=DD:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+sample VM scripts
+-----------------
+
+setup_dpdk_virtio_in_vm.sh
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+  #!/bin/sh
+  # this script matches the vm_virtio_vhost_user script
+  # virtio port is 03
+  # virtio port is 04
+
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+  cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+  ifconfig -a
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+  rmmod virtio-pci
+
+  modprobe uio
+  insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+  /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+  /root/dpdk/tools/dpdk_nic_bind.py --status
+
+run_testpmd_in_vm.sh
+^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Run testpmd for use with vhost_user sample app.
+   # test system has 8 cpus (0-7), use cpus 2-7 for VM
+
+   /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+   -c 3f -n 4 --socket-mem 350 -- --burst=64 --i --disable-hw-vlan-filter
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] doc: add vhost_user live migration image
  2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
@ 2016-07-13 15:36       ` Bernard Iremonger
  2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2 siblings, 0 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-13 15:36 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch adds an image of the Live Migration of a VM using vhost_user
on the host, test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/img/lm_vhost_user.svg    | 644 ++++++++++++++++++++++++++++++
 doc/guides/howto/lm_virtio_vhost_user.rst |   4 +
 2 files changed, 648 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_vhost_user.svg

diff --git a/doc/guides/howto/img/lm_vhost_user.svg b/doc/guides/howto/img/lm_vhost_user.svg
new file mode 100644
index 0000000..3601cf1
--- /dev/null
+++ b/doc/guides/howto/img/lm_vhost_user.svg
@@ -0,0 +1,644 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_vhost_user.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="401.97681"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1515"
+     inkscape:window-height="1092"
+     inkscape:window-x="141"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.2013"
+       y="479.56177"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1575.2013"
+         y="479.56177">Linux, KVM, QEMU 2.5 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-906.26202"
+       y="579.8208"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967574)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-906.26202"
+         y="579.8208">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1493.7568"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-1493.7568"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="277.07584"
+       height="86.466248"
+       x="-1043.5138"
+       y="187.8994" />
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="268.59058"
+       height="85.052032"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1557.907"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1557.907"
+         y="233.58643">DPDK Testpmd App</tspan><tspan
+         sodipodi:role="line"
+         x="-1557.907"
+         y="256.77521"
+         id="tspan3347" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1556.5636"
+       y="253.73872"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1556.5636"
+         y="253.73872" /><tspan
+         sodipodi:role="line"
+         x="-1556.5636"
+         y="276.92749"
+         id="tspan3884-8">DPDK virtio PMD's </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.2013"
+       y="525.24933"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1575.2013"
+         y="525.24933">DPDK PF PMD and vhost_user</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-948.70227"
+       y="524.18781"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-948.70227"
+         y="524.18781">DPDK PF PMD and vhost_user</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.59895833;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-981.50122"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-927.84314"
+       y="233.94818"
+       id="text3108-9-3"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5-6"
+         x="-927.84314"
+         y="233.94818">DPDK Testpmd App</tspan><tspan
+         sodipodi:role="line"
+         x="-927.84314"
+         y="257.13696"
+         id="tspan3347-7" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-928.51379"
+       y="255.71736"
+       id="text3880-7-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9-3"
+         x="-928.51379"
+         y="255.71736" /><tspan
+         sodipodi:role="line"
+         x="-928.51379"
+         y="278.90616"
+         id="tspan3884-8-5">DPDK virtio PMD's  </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.67664"
+       y="476.70486"
+       id="text3078-6"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080-2"
+         x="-947.67664"
+         y="476.70486">Linux, KVM, QEMU 2.5 </tspan></text>
+  </g>
+</svg>
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index 2de3ef7..d8f6365 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -49,6 +49,10 @@ The switch is configured to broadcast traffic on all the NIC ports.
 Live Migration with Virtio and vhost_user test setup:
 -----------------------------------------------------
 
+.. _figure_lm_vhost_user:
+
+.. figure:: img/lm_vhost_user.*
+
 Live Migration steps for VM with Virtio PMD and vhost_user on host:
 -------------------------------------------------------------------
 
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
  2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-15 10:50       ` Mcnamara, John
  2016-07-15 11:31         ` Iremonger, Bernard
  0 siblings, 1 reply; 37+ messages in thread
From: Mcnamara, John @ 2016-07-15 10:50 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q

> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Thursday, July 7, 2016 11:43 AM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> Iremonger, Bernard <bernard.iremonger@intel.com>
> Subject: [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
> 
> This patch describes the procedure to be be followed to perform Live
> Migration of a VM with Virtio and VF PMD's using the bonding PMD.
> 
> It includes sample host and VM scripts used in the procedure, and a sample
> switch configuration.

Hi Bernard,

Thanks for the doc. It is a complicated process so it is good to have this
detailed how-to. Some comments below.


> +
> +Live Migration of VM with SR-IOV VF:
> +====================================


I wouldn't include a colon in the heading. Something like this may be better:

     Live Migration of a VM with SR-IOV VF
     =====================================


> +
> +Live Migration overview for VM with Virtio and VF PMD's:
> +--------------------------------------------------------


Also, I wouldn't include the "Live Migration ... for VM with Virtio ..."
in each heading. The context should be clear from the main sections of
the doc. I this case I would just call the heading "Overview"

> +
> +It is not possible to migrate a Virtual Machine which has an SR-IOV
> Virtual Function.

Add (VF) in brackets at the first mention of Virtual Function here. Also
for PF below.

> +To get around this problem the bonding PMD is used.

I would add to the end of this paragraph:

    The following sections show an example of how to do this.


Also I think the "Test Setup" header from below should be moved up to this point.

> +
> +A bonded device is created in the VM.
> +The virtio and VF PMD's are added as slaves to the bonded device.
> +The VF is set as the primary slave of the bonded device.
> +
> +A bridge must be set up on the Host connecting the tap device, which is
> +the backend of the Virtio device and the Physical Function device.
> +
> +To test the Live Migration two servers with identical operating systems
> installed are used.
> +KVM and Qemu 2.3 is also required on the servers.
> +
> +The servers have Niantic and or Fortville NIC's installed.
> +The NIC's on both servers are connected to a switch which is also
> +connected to the traffic generator.

I would prefix this paragraph with: "In this example, the servers have
Niantic and .."


> +The switch is configured to broadcast traffic on all the NIC ports.
> +
> +Live Migration with SR-IOV VF test setup:
> +-----------------------------------------

Just "Test Setup" would be better. And move up, I think.


> +
> +Live Migration steps for VM with Virtio and VF PMD's:
> +-----------------------------------------------------

Again "Live Migration steps" would be fine.


Also I would change this paragraph to link forward to the scripts like:


    The sample scripts mentioned in the steps below can be found in the
    :ref:`lm_bond_virtio_sriov_host_scripts`
    and :ref:`lm_bond_virtio_sriov_host_scripts` sections.


And then put the targets in the relevant sections of the docs.

    .. _lm_bond_virtio_sriov_host_scripts:

    .. _lm_bond_virtio_sriov_vm_scripts:


> +
> +The host is running the Kernel Physical Function driver (ixgbe or i40e).
> +
> +The ip address of host_server_1 is 10.237.212.46
> +
> +The ip address of host_server_2 is 10.237.212.131
> +
> +The sample scripts mentioned in the steps below can be found in the
> +host_scripts and vm_scripts sections.
> +
> +On host_server_1: Terminal 1
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The documentation guidelines say to use ~~~~~~ as the third level heading
underline. It doesn't really matter since the RST parsers figure it out.
Up to you if you want to change it.

http://dpdk.org/doc/guides/contributing/documentation.html#section-headers

> +The following command only works with kernel PF for Niantic
> +
> +.. code-block:: console
> +
> +    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
> +
> +create bonded device(mode) (socket)

Should be a space after device. Also these lines describing the state
or state change should be written have capital letters and full stops
so they read like sentences. Also, if describing a state change you
could add "now" so the reader is aware of the change. For example:

  - primary is port 1, 2 active slaves
  + Primary is now port1. There are 2 active slaves.

> +
> +Setup Virtual Machine on host_server_1
> +
> +.. code-block:: sh
> +
> +  #!/bin/sh
> +


I thought that the code block had to be indented 3 spaces but the RST
parsers didn't complain. Might be worth changing them anyway to a
consistent 3 or 4 space indent.

John

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
  2016-07-15 10:50       ` Mcnamara, John
@ 2016-07-15 11:31         ` Iremonger, Bernard
  0 siblings, 0 replies; 37+ messages in thread
From: Iremonger, Bernard @ 2016-07-15 11:31 UTC (permalink / raw)
  To: Mcnamara, John, dev; +Cc: Liu, Yong, Xu, Qian Q

Hi John,

<snip>

> > Subject: [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
> >
> > This patch describes the procedure to be be followed to perform Live
> > Migration of a VM with Virtio and VF PMD's using the bonding PMD.
> >
> > It includes sample host and VM scripts used in the procedure, and a
> > sample switch configuration.
> 
> Hi Bernard,
> 
> Thanks for the doc. It is a complicated process so it is good to have this
> detailed how-to. Some comments below.
> 
> 
> > +
> > +Live Migration of VM with SR-IOV VF:
> > +====================================
> 
> 
> I wouldn't include a colon in the heading. Something like this may be better:

Ok, I will remove colons from headings.
 
>      Live Migration of a VM with SR-IOV VF
>      =====================================
> 
> 
> > +
> > +Live Migration overview for VM with Virtio and VF PMD's:
> > +--------------------------------------------------------
> 
> 
> Also, I wouldn't include the "Live Migration ... for VM with Virtio ..."
> in each heading. The context should be clear from the main sections of the
> doc. I this case I would just call the heading "Overview"

Ok, will change.
 
> 
> > +
> > +It is not possible to migrate a Virtual Machine which has an SR-IOV
> > Virtual Function.
> 
> Add (VF) in brackets at the first mention of Virtual Function here. Also for PF
> below.

Ok, I will add (VF) and (PF)

> 
> > +To get around this problem the bonding PMD is used.
> 
> I would add to the end of this paragraph:
> 
>     The following sections show an example of how to do this.

Ok, will add.
> 
> 
> Also I think the "Test Setup" header from below should be moved up to this
> point.
> 
> > +
> > +A bonded device is created in the VM.
> > +The virtio and VF PMD's are added as slaves to the bonded device.
> > +The VF is set as the primary slave of the bonded device.
> > +
> > +A bridge must be set up on the Host connecting the tap device, which
> > +is the backend of the Virtio device and the Physical Function device.
> > +
> > +To test the Live Migration two servers with identical operating
> > +systems
> > installed are used.
> > +KVM and Qemu 2.3 is also required on the servers.
> > +
> > +The servers have Niantic and or Fortville NIC's installed.
> > +The NIC's on both servers are connected to a switch which is also
> > +connected to the traffic generator.
> 
> I would prefix this paragraph with: "In this example, the servers have Niantic
> and .."

Ok, will do.
> 
> 
> > +The switch is configured to broadcast traffic on all the NIC ports.
> > +
> > +Live Migration with SR-IOV VF test setup:
> > +-----------------------------------------
> 
> Just "Test Setup" would be better. And move up, I think.

Ok, will do.
> 
> 
> > +
> > +Live Migration steps for VM with Virtio and VF PMD's:
> > +-----------------------------------------------------
> 
> Again "Live Migration steps" would be fine.

Ok, will change.

> 
> 
> Also I would change this paragraph to link forward to the scripts like:
> 
> 
>     The sample scripts mentioned in the steps below can be found in the
>     :ref:`lm_bond_virtio_sriov_host_scripts`
>     and :ref:`lm_bond_virtio_sriov_host_scripts` sections.
> 
> 
> And then put the targets in the relevant sections of the docs.
> 
>     .. _lm_bond_virtio_sriov_host_scripts:
> 
>     .. _lm_bond_virtio_sriov_vm_scripts:
> 
> 
Ok will do.

> > +
> > +The host is running the Kernel Physical Function driver (ixgbe or i40e).
> > +
> > +The ip address of host_server_1 is 10.237.212.46
> > +
> > +The ip address of host_server_2 is 10.237.212.131
> > +
> > +The sample scripts mentioned in the steps below can be found in the
> > +host_scripts and vm_scripts sections.
> > +
> > +On host_server_1: Terminal 1
> > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> The documentation guidelines say to use ~~~~~~ as the third level heading
> underline. It doesn't really matter since the RST parsers figure it out.
> Up to you if you want to change it.

I will leave as is.

> 
> http://dpdk.org/doc/guides/contributing/documentation.html#section-
> headers
> 
> > +The following command only works with kernel PF for Niantic
> > +
> > +.. code-block:: console
> > +
> > +    testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
> > +
> > +create bonded device(mode) (socket)
> 
> Should be a space after device.

Ok, will add a space.

> Also these lines describing the state or state
> change should be written have capital letters and full stops so they read like
> sentences. Also, if describing a state change you could add "now" so the
> reader is aware of the change. For example:
> 
>   - primary is port 1, 2 active slaves
>   + Primary is now port1. There are 2 active slaves.

Ok, will change.

> 
> > +
> > +Setup Virtual Machine on host_server_1
> > +
> > +.. code-block:: sh
> > +
> > +  #!/bin/sh
> > +
> 
> 
> I thought that the code block had to be indented 3 spaces but the RST
> parsers didn't complain. Might be worth changing them anyway to a
> consistent 3 or 4 space indent.

I think 2 spaces are enough (if I remember correctly)

> 
> John

Thanks for the review.

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
@ 2016-07-17 18:12         ` Mcnamara, John
  2016-07-18  7:53           ` Iremonger, Bernard
  0 siblings, 1 reply; 37+ messages in thread
From: Mcnamara, John @ 2016-07-17 18:12 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu

> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Wednesday, July 13, 2016 4:36 PM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
> 
> This patch describes the procedure to be be followed to perform Live
> Migration of a VM with Virtio PMD running on a host which is running the
> vhost_user sample application (vhost-switch).
> 
> It includes sample host and VM scripts used in the procedure.

Hi Bernard,

Same comments to this as to the SRIOV version.

Also, it may be worth restricting the index to 2 levels since there are a
lot of third level entries showing up in the index.html file and the level
2 headings are sufficiently informative.

Thanks,

John

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
  2016-07-17 18:12         ` Mcnamara, John
@ 2016-07-18  7:53           ` Iremonger, Bernard
  0 siblings, 0 replies; 37+ messages in thread
From: Iremonger, Bernard @ 2016-07-18  7:53 UTC (permalink / raw)
  To: Mcnamara, John, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu

Hi John

> -----Original Message-----
> From: Mcnamara, John
> Sent: Sunday, July 17, 2016 7:13 PM
> To: Iremonger, Bernard <bernard.iremonger@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com
> Subject: RE: [PATCH v2 1/2] doc: live migration of VM with vhost_user on
> host
> 
> > -----Original Message-----
> > From: Iremonger, Bernard
> > Sent: Wednesday, July 13, 2016 4:36 PM
> > To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> > Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> > yuanhan.liu@linux.intel.com; Iremonger, Bernard
> > <bernard.iremonger@intel.com>
> > Subject: [PATCH v2 1/2] doc: live migration of VM with vhost_user on
> > host
> >
> > This patch describes the procedure to be be followed to perform Live
> > Migration of a VM with Virtio PMD running on a host which is running
> > the vhost_user sample application (vhost-switch).
> >
> > It includes sample host and VM scripts used in the procedure.
> 
> Hi Bernard,
> 
> Same comments to this as to the SRIOV version.
> 
> Also, it may be worth restricting the index to 2 levels since there are a lot of
> third level entries showing up in the index.html file and the level
> 2 headings are sufficiently informative.
> 
> Thanks,
> 
> John

I will send a V3 and restrict the index to 2 levels.

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure
  2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
                       ` (2 preceding siblings ...)
  2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
@ 2016-07-18 10:17     ` Bernard Iremonger
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
                         ` (2 more replies)
  3 siblings, 3 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 10:17 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This pachset set describes the procedure to Live migrate
a VM with Virtio and VF PMD's using the bonding PMD.

Changes in v4:
rename image file and patch
added links to rst file
updated rst file in line with comments

Changes in v3:
rename directory from how_to to howto
move to after FAQ in the index

Changes in v2:
change primary port before removing slave port
remove unused variables from QEMU scripts
identify NIC's in bridge setup scripts

Bernard Iremonger (2):
  doc: live migration of VM with Virtio and VF
  doc: add live migration virtio sriov image

 doc/guides/howto/index.rst                |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst | 713 ++++++++++++++++++++++++++++++
 doc/guides/index.rst                      |   1 +
 3 files changed, 752 insertions(+)
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
  2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
@ 2016-07-18 10:17       ` Bernard Iremonger
  2016-07-19 14:08         ` Mcnamara, John
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image Bernard Iremonger
  2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 10:17 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch describes the procedure to be be followed
to perform Live Migration of a VM with Virtio and VF PMD's
using the bonding PMD.

It includes sample host and VM scripts used in the procedure,
and a sample switch configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/index.rst                |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst | 709 ++++++++++++++++++++++++++++++
 doc/guides/index.rst                      |   1 +
 3 files changed, 748 insertions(+)
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
new file mode 100644
index 0000000..d5a17fd
--- /dev/null
+++ b/doc/guides/howto/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+How To User Guide
+=================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered:
+
+    lm_bond_virtio_sriov
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
new file mode 100644
index 0000000..6cf797d
--- /dev/null
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -0,0 +1,709 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Live Migration of VM with SR-IOV VF
+===================================
+
+Overview
+--------
+
+It is not possible to migrate a Virtual Machine which has an SR-IOV Virtual Function (VF).
+
+To get around this problem the bonding PMD is used.
+
+The following sections show an example of how to do this.
+
+Test Setup
+----------
+
+A bonded device is created in the VM.
+The virtio and VF PMD's are added as slaves to the bonded device.
+The VF is set as the primary slave of the bonded device.
+
+A bridge must be set up on the Host connecting the tap device, which is the
+backend of the Virtio device and the Physical Function (PF) device.
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and Qemu 2.3 is also required on the servers.
+
+In this example, the servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+A :ref:`Sample switch configuration <lm_bond_virtio_sriov_switch_conf>`
+can be found in this section.
+
+The host is running the Kernel PF driver (ixgbe or i40e).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+Live Migration steps
+--------------------
+
+The sample scripts mentioned in the steps below can be found in the
+:ref:`Sample host scripts <lm_bond_virtio_sriov_host_scripts>` and
+:ref:`Sample VM scripts <lm_bond_virtio_sriov_vm_scripts>` sections.
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_vf_on_212_46.sh
+
+For Fortville NIC
+
+.. code-block:: console
+
+   ./vm_virtio_vf_i40e_212_46.sh
+
+For Niantic NIC
+
+.. code-block:: console
+
+   ./vm_virtio_vf_one_212_46.sh
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_bridge_on_212_46.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu)
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+   cd /root/dpdk/vm_scripts
+   ./setup_dpdk_in_vm.sh
+   ./run_testpmd_bonding_in_vm.sh
+
+   testpmd> show port info all
+
+The ``mac_addr`` command only works with kernel PF for Niantic
+
+.. code-block:: console
+
+   testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+
+The syntax of the ``testpmd`` command is:
+
+Create bonded device (mode) (socket).
+
+Mode 1 is active backup.
+
+Virtio is port 0 (P0).
+
+VF is port 1 (P1).
+
+Bonding is port 2 (P2).
+
+.. code-block:: console
+
+   testpmd> create bonded device 1 0
+   Created new bonded device eth_bond_testpmd_0 on (port 2).
+   testpmd> add bonding slave 0 2
+   testpmd> add bonding slave 1 2
+   testpmd> show bonding config 2
+
+The syntax of the ``testpmd`` command is:
+
+set bonding primary (slave id) (port id)
+
+Set primary to P1 before starting bonding port.
+
+.. code-block:: console
+
+   testpmd> set bonding primary 1 2
+   testpmd> show bonding config 2
+   testpmd> port start 2
+   Port 2: 02:09:C0:68:99:A5
+   Checking link statuses...
+   Port 0 Link Up - speed 10000 Mbps - full-duplex
+   Port 1 Link Up - speed 10000 Mbps - full-duplex
+   Port 2 Link Up - speed 10000 Mbps - full-duplex
+
+   testpmd> show bonding config 2
+
+Primary is now P1. There are 2 active slaves.
+
+Use P2 only for forwarding.
+
+.. code-block:: console
+
+   testpmd> set portlist 2
+   testpmd> show config fwd
+   testpmd> set fwd mac
+   testpmd> start
+   testpmd> show bonding config 2
+
+Primary is now P1. There are 2 active slaves.
+
+.. code-block:: console
+
+   testpmd> show port stats all
+
+VF traffic is seen at P1 and P2.
+
+.. code-block:: console
+
+   testpmd> clear port stats all
+   testpmd> set bonding primary 0 2
+   testpmd> remove bonding slave 1 2
+   testpmd> show bonding config 2
+
+Primary is now P0. There is 1 active slave.
+
+.. code-block:: console
+
+   testpmd> clear port stats all
+   testpmd> show port stats all
+
+No VF traffic is seen at P0 and P2, VF MAC address still present.
+
+.. code-block:: console
+
+   testpmd> port stop 1
+   testpmd> port close 1
+
+Port close should remove VF MAC address, it does not remove perm_addr.
+
+The ``mac_addr`` command only works with the kernel PF for Niantic.
+
+.. code-block:: console
+
+   testpmd> mac_addr remove 1 AA:BB:CC:DD:EE:FF
+   testpmd> port detach 1
+   Port '0000:00:04.0' is detached. Now total ports is 2
+   testpmd> show port stats all
+
+No VF traffic is seen at P0 and P2.
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   (qemu) device_del vf1
+
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+   testpmd> show bonding config 2
+
+Primary is now P0. There is 1 active slave.
+
+.. code-block:: console
+
+   testpmd> show port info all
+   testpmd> show port stats all
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_vf_on_212_131.sh
+   ./vm_virtio_one_migrate.sh
+
+On host_server_2: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   ./setup_bridge_on_212_131.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Check that the switch is up before migrating.
+
+.. code-block:: console
+
+   (qemu) migrate tcp:10.237.212.131:5555
+   (qemu) info status
+   VM status: paused (postmigrate)
+
+For the Niantic NIC.
+
+.. code-block:: console
+
+   (qemu) info migrate
+   capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+   Migration status: completed
+   total time: 11834 milliseconds
+   downtime: 18 milliseconds
+   setup: 3 milliseconds
+   transferred ram: 389137 kbytes
+   throughput: 269.49 mbps
+   remaining ram: 0 kbytes
+   total ram: 1590088 kbytes
+   duplicate: 301620 pages
+   skipped: 0 pages
+   normal: 96433 pages
+   normal bytes: 385732 kbytes
+   dirty sync count: 2
+   (qemu) quit
+
+For the Fortville NIC.
+
+.. code-block:: console
+
+   (qemu) info migrate
+   capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+   Migration status: completed
+   total time: 11619 milliseconds
+   downtime: 5 milliseconds
+   setup: 7 milliseconds
+   transferred ram: 379699 kbytes
+   throughput: 267.82 mbps
+   remaining ram: 0 kbytes
+   total ram: 1590088 kbytes
+   duplicate: 303985 pages
+   skipped: 0 pages
+   normal: 94073 pages
+   normal bytes: 376292 kbytes
+   dirty sync count: 2
+   (qemu) quit
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+   Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+   testpmd>
+
+On host_server_2: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   (qemu) info status
+   VM status: running
+
+For the Niantic NIC.
+
+.. code-block:: console
+
+   (qemu) device_add pci-assign,host=06:10.0,id=vf1
+
+For the Fortville NIC.
+
+.. code-block:: console
+
+   (qemu) device_add pci-assign,host=03:02.0,id=vf1
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+   testomd> show port info all
+   testpmd> show port stats all
+   testpmd> show bonding config 2
+   testpmd> port attach 0000:00:04.0
+   Port 1 is attached.
+   Now total ports is 3
+   Done
+
+   testpmd> port start 1
+
+The ``mac_addr`` command only works with the Kernel PF for Niantic.
+
+.. code-block:: console
+
+   testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+   testpmd> show port stats all.
+   testpmd> show config fwd
+   testpmd> show bonding config 2
+   testpmd> add bonding slave 1 2
+   testpmd> set bonding primary 1 2
+   testpmd> show bonding config 2
+   testpmd> show port stats all
+
+VF traffic is seen at P1 (VF) and P2 (Bonded device).
+
+.. code-block:: console
+
+   testpmd> remove bonding slave 0 2
+   testpmd> show bonding config 2
+   testpmd> port stop 0
+   testpmd> port close 0
+   testpmd> port detach 0
+   Port '0000:00:03.0' is detached. Now total ports is 2
+
+   testpmd> show port info all
+   testpmd> show config fwd
+   testpmd> show port stats all
+
+VF traffic is seen at P1 (VF) and P2 (Bonded device).
+
+.. _lm_bond_virtio_sriov_host_scripts:
+
+Sample host scripts
+-------------------
+
+setup_vf_on_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~
+Set up Virtual Functions on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to setup the VF
+
+   # set up Niantic VF
+   cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   rmmod ixgbevf
+
+   # set up Fortville VF
+   cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   rmmod i40evf
+
+vm_virtio_vf_one_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup Virtual Machine on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="4"
+
+   # Memory
+   MEM=1536
+
+   taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -device pci-assign,host=09:10.0,id=vf1 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup bridge on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens3f0 is the Niantic NIC
+   # ens6f0 is the Fortville NIC
+
+   ifconfig ens3f0 down
+   ifconfig tap1 down
+   ifconfig ens6f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens3f0
+   brctl addif virbr0 ens6f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens3f0 up
+   ifconfig tap1 up
+   ifconfig ens6f0 up
+   ifconfig virbr0 up
+
+connect_to_qemu_mon_on_host.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on both hosts when the VM is up,
+   # to connect to the Qemu Monitor.
+
+   telnet 0 3333
+
+setup_vf_on_212_131.sh
+~~~~~~~~~~~~~~~~~~~~~~
+
+Set up Virtual Functions on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.131 to setup the VF
+
+   # set up Niantic VF
+   cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   rmmod ixgbevf
+
+   # set up Fortville VF
+   cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   rmmod i40evf
+
+vm_virtio_one_migrate.sh
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup Virtual Machine on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Start the VM on host_server_2 with the same parameters except without the VF
+   # parameters, as the VM on host_server_1, in migration-listen mode
+   # (-incoming tcp:0:5555)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="4"
+
+   # Memory
+   MEM=1536
+
+   taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_131.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup bridge on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens4f0 is the Niantic NIC
+   # ens5f0 is the Fortville NIC
+
+   ifconfig ens4f0 down
+   ifconfig tap1 down
+   ifconfig ens5f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens4f0
+   brctl addif virbr0 ens5f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens4f0 up
+   ifconfig tap1 up
+   ifconfig ens5f0 up
+   ifconfig virbr0 up
+
+.. _lm_bond_virtio_sriov_vm_scripts:
+
+Sample VM scripts
+-----------------
+
+setup_dpdk_in_vm.sh
+~~~~~~~~~~~~~~~~~~~
+
+Set up DPDK in the Virtual Machine
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # this script matches the vm_virtio_vf_one script
+   # virtio port is 03
+   # vf port is 04
+
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+   ifconfig -a
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+   rmmod virtio-pci ixgbevf
+
+   modprobe uio
+   insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+run_testpmd_bonding_in_vm.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run testpmd in the Virtual Machine.
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Run testpmd in the VM
+
+   # The test system has 8 cpus (0-7), use cpus 2-7 for VM
+   # Use taskset -pc <core number> <thread_id>
+
+   # use for bonding of virtio and vf tests in VM
+
+   /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+   -c f -n 4 --socket-mem 350 --  --i --port-topology=chained
+
+.. _lm_bond_virtio_sriov_switch_conf:
+
+Sample switch configuration
+---------------------------
+
+The Intel switch is used to connect the traffic generator to the
+NIC's on host_server_1 and host_server_2.
+
+In order to run the switch configuration two console windows are required.
+
+Log in as root in both windows.
+
+TestPointShared, run_switch.sh and load /root/switch_config must be executed
+in the sequence below.
+
+On Switch: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~
+
+run TestPointShared
+
+.. code-block:: console
+
+   /usr/bin/TestPointShared
+
+On Switch: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~
+
+execute run_switch.sh
+
+.. code-block:: console
+
+   /root/run_switch.sh
+
+On Switch: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~
+
+load switch configuration
+
+.. code-block:: console
+
+   load /root/switch_config
+
+Sample switch configuration script
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``/root/switch_config`` script:
+
+.. code-block:: sh
+
+   # TestPoint History
+   show port 1,5,9,13,17,21,25
+   set port 1,5,9,13,17,21,25 up
+   show port 1,5,9,13,17,21,25
+   del acl 1
+   create acl 1
+   create acl-port-set
+   create acl-port-set
+   add port port-set 1 0
+   add port port-set 5,9,13,17,21,25 1
+   create acl-rule 1 1
+   add acl-rule condition 1 1 port-set 1
+   add acl-rule action 1 1 redirect 1
+   apply acl
+   create vlan 1000
+   add vlan port 1000 1,5,9,13,17,21,25
+   set vlan tagging 1000 1,5,9,13,17,21,25 tag
+   set switch config flood_ucast fwd
+   show port stats all 1,5,9,13,17,21,25
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 7aef7a3..0441859 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -43,5 +43,6 @@ DPDK documentation
    sample_app_ug/index
    testpmd_app_ug/index
    faq/index
+   howto/index
    rel_notes/index
    contributing/index
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image
  2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-18 10:17       ` Bernard Iremonger
  2016-07-19 14:09         ` Mcnamara, John
  2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 10:17 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch adds an image of the Live Migration for
virtio and sriov test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/lm_bond_virtio_sriov.rst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 6cf797d..49666f1 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -67,6 +67,10 @@ The ip address of host_server_1 is 10.237.212.46
 
 The ip address of host_server_2 is 10.237.212.131
 
+.. _figure_lm_bond_virtio_sriov:
+
+.. figure:: img/lm_bond_virtio_sriov.*
+
 Live Migration steps
 --------------------
 
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user
  2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
  2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 2/2] doc: add vhost_user live migration image Bernard Iremonger
@ 2016-07-18 14:30       ` Bernard Iremonger
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
                           ` (2 more replies)
  2 siblings, 3 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 14:30 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patchset describes the procedure to Live migrate a VM with
Virtio PMD's with the vhost_user sample application (vhost-switch)
running on the host.

This patchset depends on the following patch:
http://dpdk.org/dev/patchwork/patch/14871

Changes in v3:
added links in rst file
updated rst file in line with comments

Changes in v2:
removed l2fwd information
minor changes to svg file

Bernard Iremonger (2):
  doc: live migration of VM with vhost_user on host
  doc: add vhost_user live migration image

 doc/guides/howto/img/lm_vhost_user.svg    | 644 ++++++++++++++++++++++++++++++
 doc/guides/howto/index.rst                |   1 +
 doc/guides/howto/lm_virtio_vhost_user.rst | 469 ++++++++++++++++++++++
 3 files changed, 1114 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_vhost_user.svg
 create mode 100644 doc/guides/howto/lm_virtio_vhost_user.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host
  2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
@ 2016-07-18 14:30         ` Bernard Iremonger
  2016-07-19 16:15           ` Mcnamara, John
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image Bernard Iremonger
  2016-07-22 16:59         ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Thomas Monjalon
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 14:30 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch describes the procedure to be be followed to perform
Live Migration of a VM with Virtio PMD running on a host which
is running the vhost_user sample application (vhost-switch).

It includes sample host and VM scripts used in the procedure.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/index.rst                |   1 +
 doc/guides/howto/lm_virtio_vhost_user.rst | 465 ++++++++++++++++++++++++++++++
 2 files changed, 466 insertions(+)
 create mode 100644 doc/guides/howto/lm_virtio_vhost_user.rst

diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
index d5a17fd..2028e1a 100644
--- a/doc/guides/howto/index.rst
+++ b/doc/guides/howto/index.rst
@@ -36,3 +36,4 @@ How To User Guide
     :numbered:
 
     lm_bond_virtio_sriov
+    lm_virtio_vhost_user
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
new file mode 100644
index 0000000..f159608
--- /dev/null
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -0,0 +1,465 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Live Migration of VM with Virtio on host running vhost_user
+===========================================================
+
+Overview
+--------
+
+Live Migration of a VM with DPDK Virtio PMD on a host which is
+running the Vhost sample application (vhost-switch) and using the DPDK PMD (ixgbe or i40e).
+
+The Vhost sample application uses VMDQ so SRIOV must be disabled on the NIC's.
+
+The following sections show an example of how to do this migration.
+
+Test Setup
+----------
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and QEMU is also required on the servers.
+
+QEMU 2.5 is required for Live Migration of a VM with vhost_user running on the hosts.
+
+In this example, the servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+Live Migration steps
+--------------------
+
+The sample scripts mentioned in the steps below can be found in the
+:ref:`Sample host scripts <lm_virtio_vhost_user_host_scripts>` and
+:ref:`Sample VM scripts <lm_virtio_vhost_user_vm_scripts>` sections.
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup DPDK on host_server_1
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_dpdk_on_host.sh
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Bind the Niantic or Fortville NIC to igb_uio on host_server_1.
+
+For Fortville NIC.
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:02:00.0
+
+For Niantic NIC.
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:09:00.0
+
+On host_server_1: Terminal 3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For Fortville and Niantic NIC's reset SRIOV and run the
+vhost_user sample application (vhost-switch) on host_server_1.
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./reset_vf_on_212_46.sh
+   ./run_vhost_switch_on_host.sh
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Start the VM on host_server_1
+
+.. code-block:: console
+
+   ./vm_virtio_vhost_user.sh
+
+On host_server_1: Terminal 4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Connect to the QEMU monitor on host_server_1.
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu)
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_1:**
+
+Setup DPDK in the VM and run testpmd in the VM.
+
+.. code-block:: console
+
+   cd /root/dpdk/vm_scripts
+   ./setup_dpdk_in_vm.sh
+   ./run_testpmd_in_vm.sh
+
+   testpmd> show port info all
+   testpmd> set fwd mac retry
+   testpmd> start tx_first
+   testpmd> show port stats all
+
+Virtio traffic is seen at P1 and P2.
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Set up DPDK on the host_server_2.
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_dpdk_on_host.sh
+
+On host_server_2: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Bind the Niantic or Fortville NIC to igb_uio on host_server_2.
+
+For Fortville NIC.
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:03:00.0
+
+For Niantic NIC.
+
+.. code-block:: console
+
+   cd /root/dpdk/tools
+   ./dpdk_nic_bind.py -b igb_uio 0000:06:00.0
+
+On host_server_2: Terminal 3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For Fortville and Niantic NIC's reset SRIOV, and run
+the vhost_user sample application on host_server_2.
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./reset_vf_on_212_131.sh
+   ./run_vhost_switch_on_host.sh
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Start the VM on host_server_2.
+
+.. code-block:: console
+
+   ./vm_virtio_vhost_user_migrate.sh
+
+On host_server_2: Terminal 4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Connect to the QEMU monitor on host_server_2.
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+On host_server_1: Terminal 4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Check that switch is up before migrating the VM.
+
+.. code-block:: console
+
+   (qemu) migrate tcp:10.237.212.131:5555
+   (qemu) info status
+   VM status: paused (postmigrate)
+
+   (qemu) info migrate
+   capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+   Migration status: completed
+   total time: 11619 milliseconds
+   downtime: 5 milliseconds
+   setup: 7 milliseconds
+   transferred ram: 379699 kbytes
+   throughput: 267.82 mbps
+   remaining ram: 0 kbytes
+   total ram: 1590088 kbytes
+   duplicate: 303985 pages
+   skipped: 0 pages
+   normal: 94073 pages
+   normal bytes: 376292 kbytes
+   dirty sync count: 2
+   (qemu) quit
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+   Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+   testpmd>
+
+On host_server_2: Terminal 4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In QEMU monitor on host_server_2**
+
+.. code-block:: console
+
+   (qemu) info status
+   VM status: running
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+   testomd> show port info all
+   testpmd> show port stats all
+
+Virtio traffic is seen at P0 and P1.
+
+
+.. _lm_virtio_vhost_user_host_scripts:
+
+Sample host scripts
+-------------------
+
+reset_vf_on_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to reset SRIOV
+
+   # BDF for Fortville NIC is 0000:02:00.0
+   cat /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:02\:00.0/max_vfs
+
+   # BDF for Niantic NIC is 0000:09:00.0
+   cat /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:09\:00.0/max_vfs
+
+vm_virtio_vhost_user.sh
+~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #/bin/sh
+   # Script for use with vhost_user sample application
+   # The host system has 8 cpu's (0-7)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/user/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="6"
+
+   # Memory
+   MEM=1024
+
+   VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+   # Socket Path
+   SOCKET_PATH="/root/dpdk/host_scripts/usvhost"
+
+   taskset -c 2-7 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -object memory-backend-file,id=mem,size=1024M,mem-path=/mnt/huge,share=on \
+    -numa node,memdev=mem,nodeid=0 \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none \
+    -nographic \
+    -hda $DISK_IMG \
+    -chardev socket,id=chr0,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net1,chardev=chr0,vhostforce \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -chardev socket,id=chr1,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net2,chardev=chr1,vhostforce \
+    -device virtio-net-pci,netdev=net2,mac=DD:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -monitor telnet::3333,server,nowait
+
+connect_to_qemu_mon_on_host.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on both hosts when the VM is up,
+   # to connect to the Qemu Monitor.
+
+   telnet 0 3333
+
+reset_vf_on_212_131.sh
+~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.131 to reset SRIOV
+
+   # BDF for Ninatic NIC is 0000:06:00.0
+   cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
+
+   # BDF for Fortville NIC is 0000:03:00.0
+   cat /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+   echo 0 > /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+   cat /sys/bus/pci/devices/0000\:03\:00.0/max_vfs
+
+vm_virtio_vhost_user_migrate.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #/bin/sh
+   # Script for use with vhost user sample application
+   # The host system has 8 cpu's (0-7)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/user/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="6"
+
+   # Memory
+   MEM=1024
+
+   VIRTIO_OPTIONS="csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off"
+
+   # Socket Path
+   SOCKET_PATH="/root/dpdk/host_scripts/usvhost"
+
+   taskset -c 2-7 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -object memory-backend-file,id=mem,size=1024M,mem-path=/mnt/huge,share=on \
+    -numa node,memdev=mem,nodeid=0 \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none \
+    -nographic \
+    -hda $DISK_IMG \
+    -chardev socket,id=chr0,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net1,chardev=chr0,vhostforce \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -chardev socket,id=chr1,path=$SOCKET_PATH \
+    -netdev type=vhost-user,id=net2,chardev=chr1,vhostforce \
+    -device virtio-net-pci,netdev=net2,mac=DD:BB:BB:BB:BB:BB,$VIRTIO_OPTIONS \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+.. _lm_virtio_vhost_user_vm_scripts:
+
+Sample VM scripts
+-----------------
+
+setup_dpdk_virtio_in_vm.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # this script matches the vm_virtio_vhost_user script
+   # virtio port is 03
+   # virtio port is 04
+
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+   ifconfig -a
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+   rmmod virtio-pci
+
+   modprobe uio
+   insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+run_testpmd_in_vm.sh
+~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Run testpmd for use with vhost_user sample app.
+   # test system has 8 cpus (0-7), use cpus 2-7 for VM
+
+   /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+   -c 3f -n 4 --socket-mem 350 -- --burst=64 --i --disable-hw-vlan-filter
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image
  2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
@ 2016-07-18 14:30         ` Bernard Iremonger
  2016-07-19 16:15           ` Mcnamara, John
  2016-07-22 16:59         ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Thomas Monjalon
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-18 14:30 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch adds an image of the Live Migration of a VM using vhost_user
on the host, test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/img/lm_vhost_user.svg    | 644 ++++++++++++++++++++++++++++++
 doc/guides/howto/lm_virtio_vhost_user.rst |   4 +
 2 files changed, 648 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_vhost_user.svg

diff --git a/doc/guides/howto/img/lm_vhost_user.svg b/doc/guides/howto/img/lm_vhost_user.svg
new file mode 100644
index 0000000..3601cf1
--- /dev/null
+++ b/doc/guides/howto/img/lm_vhost_user.svg
@@ -0,0 +1,644 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_vhost_user.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="401.97681"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1515"
+     inkscape:window-height="1092"
+     inkscape:window-x="141"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.2013"
+       y="479.56177"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1575.2013"
+         y="479.56177">Linux, KVM, QEMU 2.5 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-906.26202"
+       y="579.8208"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967574)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-906.26202"
+         y="579.8208">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1493.7568"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-1493.7568"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="277.07584"
+       height="86.466248"
+       x="-1043.5138"
+       y="187.8994" />
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="268.59058"
+       height="85.052032"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1557.907"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1557.907"
+         y="233.58643">DPDK Testpmd App</tspan><tspan
+         sodipodi:role="line"
+         x="-1557.907"
+         y="256.77521"
+         id="tspan3347" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1556.5636"
+       y="253.73872"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1556.5636"
+         y="253.73872" /><tspan
+         sodipodi:role="line"
+         x="-1556.5636"
+         y="276.92749"
+         id="tspan3884-8">DPDK virtio PMD's </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.2013"
+       y="525.24933"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1575.2013"
+         y="525.24933">DPDK PF PMD and vhost_user</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-948.70227"
+       y="524.18781"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-948.70227"
+         y="524.18781">DPDK PF PMD and vhost_user</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.59895833;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-981.50122"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-927.84314"
+       y="233.94818"
+       id="text3108-9-3"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5-6"
+         x="-927.84314"
+         y="233.94818">DPDK Testpmd App</tspan><tspan
+         sodipodi:role="line"
+         x="-927.84314"
+         y="257.13696"
+         id="tspan3347-7" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-928.51379"
+       y="255.71736"
+       id="text3880-7-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9-3"
+         x="-928.51379"
+         y="255.71736" /><tspan
+         sodipodi:role="line"
+         x="-928.51379"
+         y="278.90616"
+         id="tspan3884-8-5">DPDK virtio PMD's  </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.67664"
+       y="476.70486"
+       id="text3078-6"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080-2"
+         x="-947.67664"
+         y="476.70486">Linux, KVM, QEMU 2.5 </tspan></text>
+  </g>
+</svg>
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index f159608..fad1f2a 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -60,6 +60,10 @@ The ip address of host_server_1 is 10.237.212.46
 
 The ip address of host_server_2 is 10.237.212.131
 
+.. _figure_lm_vhost_user:
+
+.. figure:: img/lm_vhost_user.*
+
 Live Migration steps
 --------------------
 
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-19 14:08         ` Mcnamara, John
  2016-07-19 14:27           ` Iremonger, Bernard
  0 siblings, 1 reply; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 14:08 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu

> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Monday, July 18, 2016 11:17 AM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
> 
> +
> +How To User Guide
> +=================

Sorry, I missed this last time but could you change this to "How to Guides" since there will be more than one.

Thanks,

John

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image Bernard Iremonger
@ 2016-07-19 14:09         ` Mcnamara, John
  2016-07-19 14:28           ` Iremonger, Bernard
  0 siblings, 1 reply; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 14:09 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu



> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Monday, July 18, 2016 11:17 AM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v4 2/2] doc: add live migration virtio sriov image
> 
> This patch adds an image of the Live Migration for virtio and sriov test
> configuration.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> ---
>  doc/guides/howto/lm_bond_virtio_sriov.rst | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst
> b/doc/guides/howto/lm_bond_virtio_sriov.rst
> index 6cf797d..49666f1 100644
> --- a/doc/guides/howto/lm_bond_virtio_sriov.rst
> +++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
> @@ -67,6 +67,10 @@ The ip address of host_server_1 is 10.237.212.46
> 
>  The ip address of host_server_2 is 10.237.212.131
> 
> +.. _figure_lm_bond_virtio_sriov:
> +
> +.. figure:: img/lm_bond_virtio_sriov.*
> +
>  Live Migration steps
>  --------------------

Hi,

The image is missing in this patch.

John

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
  2016-07-19 14:08         ` Mcnamara, John
@ 2016-07-19 14:27           ` Iremonger, Bernard
  0 siblings, 0 replies; 37+ messages in thread
From: Iremonger, Bernard @ 2016-07-19 14:27 UTC (permalink / raw)
  To: Mcnamara, John, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu

Hi John,

> -----Original Message-----
> From: Mcnamara, John
> Sent: Tuesday, July 19, 2016 3:09 PM
> To: Iremonger, Bernard <bernard.iremonger@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com
> Subject: RE: [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
> 
> > -----Original Message-----
> > From: Iremonger, Bernard
> > Sent: Monday, July 18, 2016 11:17 AM
> > To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> > Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> > yuanhan.liu@linux.intel.com; Iremonger, Bernard
> > <bernard.iremonger@intel.com>
> > Subject: [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
> >
> > +
> > +How To User Guide
> > +=================
> 
> Sorry, I missed this last time but could you change this to "How to Guides"
> since there will be more than one.
> 
> Thanks,
> 
> John

I will send a v5

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image
  2016-07-19 14:09         ` Mcnamara, John
@ 2016-07-19 14:28           ` Iremonger, Bernard
  0 siblings, 0 replies; 37+ messages in thread
From: Iremonger, Bernard @ 2016-07-19 14:28 UTC (permalink / raw)
  To: Mcnamara, John, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu

Hi John,

> -----Original Message-----
> From: Mcnamara, John
> Sent: Tuesday, July 19, 2016 3:09 PM
> To: Iremonger, Bernard <bernard.iremonger@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com
> Subject: RE: [PATCH v4 2/2] doc: add live migration virtio sriov image
> 
> 
> 
> > -----Original Message-----
> > From: Iremonger, Bernard
> > Sent: Monday, July 18, 2016 11:17 AM
> > To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> > Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> > yuanhan.liu@linux.intel.com; Iremonger, Bernard
> > <bernard.iremonger@intel.com>
> > Subject: [PATCH v4 2/2] doc: add live migration virtio sriov image
> >
> > This patch adds an image of the Live Migration for virtio and sriov
> > test configuration.
> >
> > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> > ---
> >  doc/guides/howto/lm_bond_virtio_sriov.rst | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst
> > b/doc/guides/howto/lm_bond_virtio_sriov.rst
> > index 6cf797d..49666f1 100644
> > --- a/doc/guides/howto/lm_bond_virtio_sriov.rst
> > +++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
> > @@ -67,6 +67,10 @@ The ip address of host_server_1 is 10.237.212.46
> >
> >  The ip address of host_server_2 is 10.237.212.131
> >
> > +.. _figure_lm_bond_virtio_sriov:
> > +
> > +.. figure:: img/lm_bond_virtio_sriov.*
> > +
> >  Live Migration steps
> >  --------------------
> 
> Hi,
> 
> The image is missing in this patch.
> 
> John

It will be in the v5.

Regards,

Bernard.

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure
  2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image Bernard Iremonger
@ 2016-07-19 15:09       ` Bernard Iremonger
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
                           ` (2 more replies)
  2 siblings, 3 replies; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-19 15:09 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch set describes the procedure to Live migrate
a VM with Virtio and VF PMD's using the bonding PMD.

Changes in v5:
restore missing image file
change Guide to Guides in heading

Changes in v4:
rename image file and patch
added links to rst file
updated rst file in line with comments

Changes in v3:
rename directory from how_to to howto
move to after FAQ in the index

Changes in v2:
change primary port before removing slave port
remove unused variables from QEMU scripts
identify NIC's in bridge setup scripts

Bernard Iremonger (2):
  doc: live migration of VM with Virtio and VF
  doc: add live migration virtio sriov image

 doc/guides/howto/img/lm_bond_virtio_sriov.svg | 666 ++++++++++++++++++++++++
 doc/guides/howto/index.rst                    |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst     | 713 ++++++++++++++++++++++++++
 doc/guides/index.rst                          |   1 +
 4 files changed, 1418 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_bond_virtio_sriov.svg
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF
  2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
@ 2016-07-19 15:09         ` Bernard Iremonger
  2016-07-19 16:12           ` Mcnamara, John
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image Bernard Iremonger
  2016-07-22 16:56         ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Thomas Monjalon
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-19 15:09 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch describes the procedure to be be followed
to perform Live Migration of a VM with Virtio and VF PMD's
using the bonding PMD.

It includes sample host and VM scripts used in the procedure,
and a sample switch configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/index.rst                |  38 ++
 doc/guides/howto/lm_bond_virtio_sriov.rst | 709 ++++++++++++++++++++++++++++++
 doc/guides/index.rst                      |   1 +
 3 files changed, 748 insertions(+)
 create mode 100644 doc/guides/howto/index.rst
 create mode 100644 doc/guides/howto/lm_bond_virtio_sriov.rst

diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
new file mode 100644
index 0000000..5ff7526
--- /dev/null
+++ b/doc/guides/howto/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+How To User Guides
+==================
+
+.. toctree::
+    :maxdepth: 2
+    :numbered:
+
+    lm_bond_virtio_sriov
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
new file mode 100644
index 0000000..6cf797d
--- /dev/null
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -0,0 +1,709 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Live Migration of VM with SR-IOV VF
+===================================
+
+Overview
+--------
+
+It is not possible to migrate a Virtual Machine which has an SR-IOV Virtual Function (VF).
+
+To get around this problem the bonding PMD is used.
+
+The following sections show an example of how to do this.
+
+Test Setup
+----------
+
+A bonded device is created in the VM.
+The virtio and VF PMD's are added as slaves to the bonded device.
+The VF is set as the primary slave of the bonded device.
+
+A bridge must be set up on the Host connecting the tap device, which is the
+backend of the Virtio device and the Physical Function (PF) device.
+
+To test the Live Migration two servers with identical operating systems installed are used.
+KVM and Qemu 2.3 is also required on the servers.
+
+In this example, the servers have Niantic and or Fortville NIC's installed.
+The NIC's on both servers are connected to a switch
+which is also connected to the traffic generator.
+
+The switch is configured to broadcast traffic on all the NIC ports.
+A :ref:`Sample switch configuration <lm_bond_virtio_sriov_switch_conf>`
+can be found in this section.
+
+The host is running the Kernel PF driver (ixgbe or i40e).
+
+The ip address of host_server_1 is 10.237.212.46
+
+The ip address of host_server_2 is 10.237.212.131
+
+Live Migration steps
+--------------------
+
+The sample scripts mentioned in the steps below can be found in the
+:ref:`Sample host scripts <lm_bond_virtio_sriov_host_scripts>` and
+:ref:`Sample VM scripts <lm_bond_virtio_sriov_vm_scripts>` sections.
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_vf_on_212_46.sh
+
+For Fortville NIC
+
+.. code-block:: console
+
+   ./vm_virtio_vf_i40e_212_46.sh
+
+For Niantic NIC
+
+.. code-block:: console
+
+   ./vm_virtio_vf_one_212_46.sh
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_bridge_on_212_46.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu)
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+   cd /root/dpdk/vm_scripts
+   ./setup_dpdk_in_vm.sh
+   ./run_testpmd_bonding_in_vm.sh
+
+   testpmd> show port info all
+
+The ``mac_addr`` command only works with kernel PF for Niantic
+
+.. code-block:: console
+
+   testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+
+The syntax of the ``testpmd`` command is:
+
+Create bonded device (mode) (socket).
+
+Mode 1 is active backup.
+
+Virtio is port 0 (P0).
+
+VF is port 1 (P1).
+
+Bonding is port 2 (P2).
+
+.. code-block:: console
+
+   testpmd> create bonded device 1 0
+   Created new bonded device eth_bond_testpmd_0 on (port 2).
+   testpmd> add bonding slave 0 2
+   testpmd> add bonding slave 1 2
+   testpmd> show bonding config 2
+
+The syntax of the ``testpmd`` command is:
+
+set bonding primary (slave id) (port id)
+
+Set primary to P1 before starting bonding port.
+
+.. code-block:: console
+
+   testpmd> set bonding primary 1 2
+   testpmd> show bonding config 2
+   testpmd> port start 2
+   Port 2: 02:09:C0:68:99:A5
+   Checking link statuses...
+   Port 0 Link Up - speed 10000 Mbps - full-duplex
+   Port 1 Link Up - speed 10000 Mbps - full-duplex
+   Port 2 Link Up - speed 10000 Mbps - full-duplex
+
+   testpmd> show bonding config 2
+
+Primary is now P1. There are 2 active slaves.
+
+Use P2 only for forwarding.
+
+.. code-block:: console
+
+   testpmd> set portlist 2
+   testpmd> show config fwd
+   testpmd> set fwd mac
+   testpmd> start
+   testpmd> show bonding config 2
+
+Primary is now P1. There are 2 active slaves.
+
+.. code-block:: console
+
+   testpmd> show port stats all
+
+VF traffic is seen at P1 and P2.
+
+.. code-block:: console
+
+   testpmd> clear port stats all
+   testpmd> set bonding primary 0 2
+   testpmd> remove bonding slave 1 2
+   testpmd> show bonding config 2
+
+Primary is now P0. There is 1 active slave.
+
+.. code-block:: console
+
+   testpmd> clear port stats all
+   testpmd> show port stats all
+
+No VF traffic is seen at P0 and P2, VF MAC address still present.
+
+.. code-block:: console
+
+   testpmd> port stop 1
+   testpmd> port close 1
+
+Port close should remove VF MAC address, it does not remove perm_addr.
+
+The ``mac_addr`` command only works with the kernel PF for Niantic.
+
+.. code-block:: console
+
+   testpmd> mac_addr remove 1 AA:BB:CC:DD:EE:FF
+   testpmd> port detach 1
+   Port '0000:00:04.0' is detached. Now total ports is 2
+   testpmd> show port stats all
+
+No VF traffic is seen at P0 and P2.
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   (qemu) device_del vf1
+
+
+On host_server_1: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_1:**
+
+.. code-block:: console
+
+   testpmd> show bonding config 2
+
+Primary is now P0. There is 1 active slave.
+
+.. code-block:: console
+
+   testpmd> show port info all
+   testpmd> show port stats all
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   cd /root/dpdk/host_scripts
+   ./setup_vf_on_212_131.sh
+   ./vm_virtio_one_migrate.sh
+
+On host_server_2: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   ./setup_bridge_on_212_131.sh
+   ./connect_to_qemu_mon_on_host.sh
+   (qemu) info status
+   VM status: paused (inmigrate)
+   (qemu)
+
+On host_server_1: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Check that the switch is up before migrating.
+
+.. code-block:: console
+
+   (qemu) migrate tcp:10.237.212.131:5555
+   (qemu) info status
+   VM status: paused (postmigrate)
+
+For the Niantic NIC.
+
+.. code-block:: console
+
+   (qemu) info migrate
+   capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+   Migration status: completed
+   total time: 11834 milliseconds
+   downtime: 18 milliseconds
+   setup: 3 milliseconds
+   transferred ram: 389137 kbytes
+   throughput: 269.49 mbps
+   remaining ram: 0 kbytes
+   total ram: 1590088 kbytes
+   duplicate: 301620 pages
+   skipped: 0 pages
+   normal: 96433 pages
+   normal bytes: 385732 kbytes
+   dirty sync count: 2
+   (qemu) quit
+
+For the Fortville NIC.
+
+.. code-block:: console
+
+   (qemu) info migrate
+   capabilities: xbzrle: off rdma-pin-all: off auto-converge: off zero-blocks: off
+   Migration status: completed
+   total time: 11619 milliseconds
+   downtime: 5 milliseconds
+   setup: 7 milliseconds
+   transferred ram: 379699 kbytes
+   throughput: 267.82 mbps
+   remaining ram: 0 kbytes
+   total ram: 1590088 kbytes
+   duplicate: 303985 pages
+   skipped: 0 pages
+   normal: 94073 pages
+   normal bytes: 376292 kbytes
+   dirty sync count: 2
+   (qemu) quit
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+   Hit Enter key. This brings the user to the testpmd prompt.
+
+.. code-block:: console
+
+   testpmd>
+
+On host_server_2: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   (qemu) info status
+   VM status: running
+
+For the Niantic NIC.
+
+.. code-block:: console
+
+   (qemu) device_add pci-assign,host=06:10.0,id=vf1
+
+For the Fortville NIC.
+
+.. code-block:: console
+
+   (qemu) device_add pci-assign,host=03:02.0,id=vf1
+
+On host_server_2: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**In VM on host_server_2:**
+
+.. code-block:: console
+
+   testomd> show port info all
+   testpmd> show port stats all
+   testpmd> show bonding config 2
+   testpmd> port attach 0000:00:04.0
+   Port 1 is attached.
+   Now total ports is 3
+   Done
+
+   testpmd> port start 1
+
+The ``mac_addr`` command only works with the Kernel PF for Niantic.
+
+.. code-block:: console
+
+   testpmd> mac_addr add port 1 vf 0 AA:BB:CC:DD:EE:FF
+   testpmd> show port stats all.
+   testpmd> show config fwd
+   testpmd> show bonding config 2
+   testpmd> add bonding slave 1 2
+   testpmd> set bonding primary 1 2
+   testpmd> show bonding config 2
+   testpmd> show port stats all
+
+VF traffic is seen at P1 (VF) and P2 (Bonded device).
+
+.. code-block:: console
+
+   testpmd> remove bonding slave 0 2
+   testpmd> show bonding config 2
+   testpmd> port stop 0
+   testpmd> port close 0
+   testpmd> port detach 0
+   Port '0000:00:03.0' is detached. Now total ports is 2
+
+   testpmd> show port info all
+   testpmd> show config fwd
+   testpmd> show port stats all
+
+VF traffic is seen at P1 (VF) and P2 (Bonded device).
+
+.. _lm_bond_virtio_sriov_host_scripts:
+
+Sample host scripts
+-------------------
+
+setup_vf_on_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~
+Set up Virtual Functions on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to setup the VF
+
+   # set up Niantic VF
+   cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:09\:00.0/sriov_numvfs
+   rmmod ixgbevf
+
+   # set up Fortville VF
+   cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:02\:00.0/sriov_numvfs
+   rmmod i40evf
+
+vm_virtio_vf_one_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup Virtual Machine on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="4"
+
+   # Memory
+   MEM=1536
+
+   taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -device pci-assign,host=09:10.0,id=vf1 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_46.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup bridge on host_server_1
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.46 to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens3f0 is the Niantic NIC
+   # ens6f0 is the Fortville NIC
+
+   ifconfig ens3f0 down
+   ifconfig tap1 down
+   ifconfig ens6f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens3f0
+   brctl addif virbr0 ens6f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens3f0 up
+   ifconfig tap1 up
+   ifconfig ens6f0 up
+   ifconfig virbr0 up
+
+connect_to_qemu_mon_on_host.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on both hosts when the VM is up,
+   # to connect to the Qemu Monitor.
+
+   telnet 0 3333
+
+setup_vf_on_212_131.sh
+~~~~~~~~~~~~~~~~~~~~~~
+
+Set up Virtual Functions on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host 10.237.212.131 to setup the VF
+
+   # set up Niantic VF
+   cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:06\:00.0/sriov_numvfs
+   rmmod ixgbevf
+
+   # set up Fortville VF
+   cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   echo 1 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   cat /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
+   rmmod i40evf
+
+vm_virtio_one_migrate.sh
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup Virtual Machine on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Start the VM on host_server_2 with the same parameters except without the VF
+   # parameters, as the VM on host_server_1, in migration-listen mode
+   # (-incoming tcp:0:5555)
+
+   # Path to KVM tool
+   KVM_PATH="/usr/bin/qemu-system-x86_64"
+
+   # Guest Disk image
+   DISK_IMG="/home/username/disk_image/virt1_sml.disk"
+
+   # Number of guest cpus
+   VCPUS_NR="4"
+
+   # Memory
+   MEM=1536
+
+   taskset -c 1-5 $KVM_PATH \
+    -enable-kvm \
+    -m $MEM \
+    -smp $VCPUS_NR \
+    -cpu host \
+    -name VM1 \
+    -no-reboot \
+    -net none \
+    -vnc none -nographic \
+    -hda $DISK_IMG \
+    -netdev type=tap,id=net1,script=no,downscript=no,ifname=tap1 \
+    -device virtio-net-pci,netdev=net1,mac=CC:BB:BB:BB:BB:BB \
+    -incoming tcp:0:5555 \
+    -monitor telnet::3333,server,nowait
+
+setup_bridge_on_212_131.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Setup bridge on host_server_2
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # This script is run on the host to setup the bridge
+   # for the Tap device and the PF device.
+   # This enables traffic to go from the PF to the Tap to the Virtio PMD in the VM.
+
+   # ens4f0 is the Niantic NIC
+   # ens5f0 is the Fortville NIC
+
+   ifconfig ens4f0 down
+   ifconfig tap1 down
+   ifconfig ens5f0 down
+   ifconfig virbr0 down
+
+   brctl show virbr0
+   brctl addif virbr0 ens4f0
+   brctl addif virbr0 ens5f0
+   brctl addif virbr0 tap1
+   brctl show virbr0
+
+   ifconfig ens4f0 up
+   ifconfig tap1 up
+   ifconfig ens5f0 up
+   ifconfig virbr0 up
+
+.. _lm_bond_virtio_sriov_vm_scripts:
+
+Sample VM scripts
+-----------------
+
+setup_dpdk_in_vm.sh
+~~~~~~~~~~~~~~~~~~~
+
+Set up DPDK in the Virtual Machine
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # this script matches the vm_virtio_vf_one script
+   # virtio port is 03
+   # vf port is 04
+
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+
+   ifconfig -a
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+   rmmod virtio-pci ixgbevf
+
+   modprobe uio
+   insmod /root/dpdk/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
+
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:03.0
+   /root/dpdk/tools/dpdk_nic_bind.py -b igb_uio 0000:00:04.0
+
+   /root/dpdk/tools/dpdk_nic_bind.py --status
+
+run_testpmd_bonding_in_vm.sh
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run testpmd in the Virtual Machine.
+
+.. code-block:: sh
+
+   #!/bin/sh
+   # Run testpmd in the VM
+
+   # The test system has 8 cpus (0-7), use cpus 2-7 for VM
+   # Use taskset -pc <core number> <thread_id>
+
+   # use for bonding of virtio and vf tests in VM
+
+   /root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
+   -c f -n 4 --socket-mem 350 --  --i --port-topology=chained
+
+.. _lm_bond_virtio_sriov_switch_conf:
+
+Sample switch configuration
+---------------------------
+
+The Intel switch is used to connect the traffic generator to the
+NIC's on host_server_1 and host_server_2.
+
+In order to run the switch configuration two console windows are required.
+
+Log in as root in both windows.
+
+TestPointShared, run_switch.sh and load /root/switch_config must be executed
+in the sequence below.
+
+On Switch: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~
+
+run TestPointShared
+
+.. code-block:: console
+
+   /usr/bin/TestPointShared
+
+On Switch: Terminal 2
+~~~~~~~~~~~~~~~~~~~~~
+
+execute run_switch.sh
+
+.. code-block:: console
+
+   /root/run_switch.sh
+
+On Switch: Terminal 1
+~~~~~~~~~~~~~~~~~~~~~
+
+load switch configuration
+
+.. code-block:: console
+
+   load /root/switch_config
+
+Sample switch configuration script
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``/root/switch_config`` script:
+
+.. code-block:: sh
+
+   # TestPoint History
+   show port 1,5,9,13,17,21,25
+   set port 1,5,9,13,17,21,25 up
+   show port 1,5,9,13,17,21,25
+   del acl 1
+   create acl 1
+   create acl-port-set
+   create acl-port-set
+   add port port-set 1 0
+   add port port-set 5,9,13,17,21,25 1
+   create acl-rule 1 1
+   add acl-rule condition 1 1 port-set 1
+   add acl-rule action 1 1 redirect 1
+   apply acl
+   create vlan 1000
+   add vlan port 1000 1,5,9,13,17,21,25
+   set vlan tagging 1000 1,5,9,13,17,21,25 tag
+   set switch config flood_ucast fwd
+   show port stats all 1,5,9,13,17,21,25
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 7aef7a3..0441859 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -43,5 +43,6 @@ DPDK documentation
    sample_app_ug/index
    testpmd_app_ug/index
    faq/index
+   howto/index
    rel_notes/index
    contributing/index
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image
  2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-19 15:09         ` Bernard Iremonger
  2016-07-19 16:13           ` Mcnamara, John
  2016-07-22 16:56         ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Thomas Monjalon
  2 siblings, 1 reply; 37+ messages in thread
From: Bernard Iremonger @ 2016-07-19 15:09 UTC (permalink / raw)
  To: john.mcnamara, dev; +Cc: yong.liu, qian.q.xu, yuanhan.liu, Bernard Iremonger

This patch adds an image of the Live Migration for
virtio and sriov test configuration.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/howto/img/lm_bond_virtio_sriov.svg | 666 ++++++++++++++++++++++++++
 doc/guides/howto/lm_bond_virtio_sriov.rst     |   4 +
 2 files changed, 670 insertions(+)
 create mode 100644 doc/guides/howto/img/lm_bond_virtio_sriov.svg

diff --git a/doc/guides/howto/img/lm_bond_virtio_sriov.svg b/doc/guides/howto/img/lm_bond_virtio_sriov.svg
new file mode 100644
index 0000000..d913ae0
--- /dev/null
+++ b/doc/guides/howto/img/lm_bond_virtio_sriov.svg
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1052.8693"
+   height="762.99158"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="lm_overview.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 372.04724 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1052.3622 : 372.04724 : 1"
+       inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+       id="perspective3886" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="201.38434"
+     inkscape:cy="397.3839"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1432"
+     inkscape:window-height="1000"
+     inkscape:window-x="137"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:snap-page="false"
+     inkscape:snap-grids="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0.1"
+     fit-margin-left="0.1"
+     fit-margin-right="0.1"
+     fit-margin-bottom="0.3">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3174"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       originx="1780.3521px"
+       originy="-176.4939px" />
+    <sodipodi:guide
+       position="1780.3521,-176.4939"
+       orientation="0,744.09448"
+       id="guide3176" />
+    <sodipodi:guide
+       position="2524.4467,-176.4939"
+       orientation="-1052.3622,0"
+       id="guide3178" />
+    <sodipodi:guide
+       position="3103.2093,1429.2206"
+       orientation="0,-744.09448"
+       id="guide3180" />
+    <sodipodi:guide
+       position="826.06645,1429.2206"
+       orientation="1052.3622,0"
+       id="guide3182" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2524.4467,565.50611"
+       id="guide3079" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2494.3521,579.00611"
+       id="guide3081" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="2437.3521,579.00611"
+       id="guide3083" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3649" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3651" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3653" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3655" />
+    <sodipodi:guide
+       position="-8.2192466,-76.99225"
+       orientation="0,4077.6428"
+       id="guide3657" />
+    <sodipodi:guide
+       position="4069.4236,-76.99225"
+       orientation="-1720.5,0"
+       id="guide3659" />
+    <sodipodi:guide
+       position="4069.4236,1643.5079"
+       orientation="0,-4077.6428"
+       id="guide3661" />
+    <sodipodi:guide
+       position="-8.2192466,1643.5079"
+       orientation="1720.5,0"
+       id="guide3663" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(1780.3522,-112.87834)">
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.36521944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2985"
+       width="349.80563"
+       height="212.77235"
+       x="-1780.0696"
+       y="115.28934"
+       ry="38.183765" />
+    <rect
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.5459187px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect3755"
+       width="0"
+       height="0"
+       x="-629.48682"
+       y="1001.1993" />
+    <rect
+       style="fill:#0000ff;fill-opacity:1"
+       id="rect3191"
+       width="358.58792"
+       height="214.06038"
+       x="-1087.5042"
+       y="112.97834"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3195"
+       width="350.58966"
+       height="174.45921"
+       x="-1779.1808"
+       y="349.60342"
+       ry="39.59798" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3197"
+       width="357.25491"
+       height="170.35497"
+       x="-1084.8379"
+       y="353.79617"
+       ry="38.183765" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3199"
+       width="687.849"
+       height="55.655697"
+       x="-1603.3909"
+       y="687.73035"
+       ry="24.04163" />
+    <rect
+       style="fill:#a000ff;fill-opacity:1"
+       id="rect3201"
+       width="447.90167"
+       height="50.114544"
+       x="-1488.6338"
+       y="825.45538"
+       ry="19.658308" />
+    <rect
+       style="opacity:0.60399996;fill:#0000ff;fill-opacity:1"
+       id="rect3046"
+       width="135.97015"
+       height="38.530865"
+       x="-1679.87"
+       y="524.00964" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1565.7183"
+       y="170.28043"
+       id="text3052"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-310.5984"
+       inkscape:transform-center-y="14.984243"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3054"
+         x="-1565.7183"
+         y="170.28043">VM 1 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1268.2957"
+       y="803.349"
+       id="text3056"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-645.19167"
+       inkscape:transform-center-y="8.043534"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3058"
+         x="-1268.2957"
+         y="803.349">Switch with 10Gb ports</tspan><tspan
+         sodipodi:role="line"
+         x="-1268.2957"
+         y="826.53778"
+         id="tspan3060" /></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1573.7157"
+       y="433.78815"
+       id="text3062"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3064"
+         x="-1573.7157"
+         y="433.78815">Server 1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.12897"
+       y="434.55573"
+       id="text3066"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3068"
+         x="-947.12897"
+         y="434.55573">Server 2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1251.1786"
+       y="957.94836"
+       id="text3070"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3072"
+         x="-1251.1786"
+         y="957.94836">  10 Gb Traffic Generator</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20.1229248px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1016.8596"
+       y="162.4848"
+       id="text3074"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0288342,0.97197394)"
+       inkscape:transform-center-x="-374.58424"
+       inkscape:transform-center-y="19.26541"><tspan
+         sodipodi:role="line"
+         id="tspan3076"
+         x="-1016.8596"
+         y="162.4848">VM 2 </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="479.5618"
+       id="text3078"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-405.24435"
+       transform="scale(1.1160112,0.89604835)"
+       inkscape:transform-center-y="-3.0408919e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3080"
+         x="-1576.4685"
+         y="479.5618">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.05627"
+       y="476.78903"
+       id="text3082"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3084"
+         x="-947.05627"
+         y="476.78903">Linux, KVM, QEMU </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.93562508px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1574.15"
+       y="575.35333"
+       id="text3086"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-152.77712"
+       inkscape:transform-center-y="6.9586675"
+       transform="scale(1.052991,0.94967575)"><tspan
+         sodipodi:role="line"
+         id="tspan3088"
+         x="-1574.15"
+         y="575.35333">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-855.08612"
+       y="613.58636"
+       id="text3090"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-174.62846"
+       transform="scale(1.1160112,0.89604834)"
+       inkscape:transform-center-y="2.3462468e-05"><tspan
+         sodipodi:role="line"
+         id="tspan3092"
+         x="-855.08612"
+         y="613.58636">10 Gb NIC</tspan></text>
+    <rect
+       style="opacity:0.60199998;fill:#0000ff;fill-opacity:1"
+       id="rect3094"
+       width="125.30582"
+       height="38.530865"
+       x="-1427.5106"
+       y="437.27979" />
+    <rect
+       style="opacity:0.60799997;fill:#0000ff;fill-opacity:1"
+       id="rect3096"
+       width="111.97541"
+       height="41.741772"
+       x="-1196.8135"
+       y="437.27979" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.30730629px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1322.4871"
+       y="491.82611"
+       id="text3098"
+       sodipodi:linespacing="125%"
+       transform="scale(1.0722964,0.93257795)"
+       inkscape:transform-center-x="-27.993731"
+       inkscape:transform-center-y="-6.9674825"><tspan
+         sodipodi:role="line"
+         id="tspan3100"
+         x="-1322.4871"
+         y="491.82611">10 Gb NIC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1071.2081"
+       y="513.09308"
+       id="text3102"
+       sodipodi:linespacing="125%"
+       inkscape:transform-center-x="-670.51946"
+       inkscape:transform-center-y="150.91262"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3104"
+         x="-1071.2081"
+         y="513.09308">10 Gb NIC</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106"
+       width="257.27686"
+       height="100.60838"
+       x="-1043.5138"
+       y="187.8994" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="232.86263"
+       id="text3108"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110"
+         x="-912.34381"
+         y="232.86263">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-912.34381"
+       y="274.9668"
+       id="text3880"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882"
+         x="-912.34381"
+         y="274.9668">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-912.34381"
+         y="298.15558"
+         id="tspan3884">virtio and VF slaves</tspan></text>
+    <rect
+       style="fill:#7878ff;fill-opacity:1"
+       id="rect3106-4"
+       width="257.27686"
+       height="100.60838"
+       x="-1748.0256"
+       y="184.68852" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4333"
+       y="233.58643"
+       id="text3108-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3110-5"
+         x="-1541.4333"
+         y="233.58643">DPDK Testpmd App.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1541.4845"
+       y="274.63931"
+       id="text3880-7"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3882-9"
+         x="-1541.4845"
+         y="274.63931">bonded device with</tspan><tspan
+         sodipodi:role="line"
+         x="-1541.4845"
+         y="297.82809"
+         id="tspan3884-8">virtio and VF slaves</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1576.4685"
+       y="504.73169"
+       id="text3951"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3953"
+         x="-1576.4685"
+         y="504.73169">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.43506"
+       y="500.51361"
+       id="text3951-4"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3953-0"
+         x="-947.43506"
+         y="500.51361">Kernel PF driver</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1575.308"
+       y="548.3703"
+       id="text3976-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3"
+         x="-1575.308"
+         y="548.3703">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-1575.308"
+         y="571.55908"
+         id="tspan3075">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1203.7942"
+       y="195.3643"
+       id="text4007"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan4009"
+         x="-1203.7942"
+         y="195.3643">NFS Server</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="218.55309"
+         id="tspan4011">VM disk image</tspan><tspan
+         sodipodi:role="line"
+         x="-1203.7942"
+         y="241.74187"
+         id="tspan4013" /></text>
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect4015"
+       width="193.29091"
+       height="94.186569"
+       x="-1353.4641"
+       y="134.34897"
+       ry="22.627417" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070"
+       width="17.329529"
+       height="11.773321"
+       x="-1278.1288"
+       y="744.45654" />
+    <rect
+       style="opacity:0.45833333;fill:#a000ff;fill-opacity:1"
+       id="rect3070-3"
+       width="19.995611"
+       height="11.773321"
+       x="-1280.1283"
+       y="813.47321" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.44584394px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1270.1392,756.51119 0.5585,54.21449"
+       id="path3090"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <rect
+       style="opacity:0.61458333;fill:#0000ff;fill-opacity:1"
+       id="rect3046-7"
+       width="135.97015"
+       height="38.530865"
+       x="-978.67279"
+       y="523.78949" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880"
+       width="14.663447"
+       height="11.773321"
+       x="-1622.0532"
+       y="563.57544" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-8"
+       width="14.663447"
+       height="11.773321"
+       x="-914.96075"
+       y="564.21674" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-6"
+       width="14.663447"
+       height="11.773321"
+       x="-1482.7505"
+       y="674.35162" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-9"
+       width="14.663447"
+       height="11.773321"
+       x="-1198.8129"
+       y="720.37451" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-99"
+       width="14.663447"
+       height="11.773321"
+       x="-1085.5045"
+       y="674.35175" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-82"
+       width="14.663447"
+       height="11.773321"
+       x="-1301.4569"
+       y="452.79913" />
+    <rect
+       style="opacity:0.59375;fill:#a000ff;fill-opacity:1"
+       id="rect3880-0"
+       width="14.663447"
+       height="11.773321"
+       x="-1210.8103"
+       y="452.79922" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.49161923px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1612.063,574.09703 136.6956,98.10634"
+       id="path3946"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.62650716px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -906.09206,573.4328 -171.08524,98.7457"
+       id="path3948"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.54592061px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -1291.5381,459.322 88.4734,2e-5"
+       id="path3950"
+       inkscape:connector-type="polyline"
+       inkscape:connector-curvature="3" />
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-947.30841"
+       y="544.97314"
+       id="text3976-9-5"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604835)"><tspan
+         sodipodi:role="line"
+         id="tspan3978-3-7"
+         x="-947.30841"
+         y="544.97314">SW bridge with Tap</tspan><tspan
+         sodipodi:role="line"
+         x="-947.30841"
+         y="568.16193"
+         id="tspan3075-1">and PF connected </tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:18.55102539px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="-1220.5167"
+       y="460.53635"
+       id="text3101"
+       sodipodi:linespacing="125%"
+       transform="scale(1.1160112,0.89604834)"><tspan
+         sodipodi:role="line"
+         id="tspan3103"
+         x="-1220.5167"
+         y="460.53635">10 Gb Migration Link</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3085"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3087"><rect
+           id="rect3089"
+           width="1"
+           height="41.5"
+           x="-1"
+           y="701.59448" /></flowRegion><flowPara
+         id="flowPara3091" /></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot3093"
+       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       transform="matrix(1.7252629,0,0,1.3852181,-1778.0192,-314.07213)"><flowRegion
+         id="flowRegion3095"><rect
+           id="rect3097"
+           width="1"
+           height="41"
+           x="-1.5"
+           y="700.59448" /></flowRegion><flowPara
+         id="flowPara3099" /></flowRoot>  </g>
+</svg>
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 6cf797d..49666f1 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -67,6 +67,10 @@ The ip address of host_server_1 is 10.237.212.46
 
 The ip address of host_server_2 is 10.237.212.131
 
+.. _figure_lm_bond_virtio_sriov:
+
+.. figure:: img/lm_bond_virtio_sriov.*
+
 Live Migration steps
 --------------------
 
-- 
2.9.0

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
@ 2016-07-19 16:12           ` Mcnamara, John
  0 siblings, 0 replies; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 16:12 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu



> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Tuesday, July 19, 2016 4:09 PM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v5 1/2] doc: live migration of VM with Virtio and VF
> 
> This patch describes the procedure to be be followed to perform Live
> Migration of a VM with Virtio and VF PMD's using the bonding PMD.
> 
> It includes sample host and VM scripts used in the procedure, and a sample
> switch configuration.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image Bernard Iremonger
@ 2016-07-19 16:13           ` Mcnamara, John
  0 siblings, 0 replies; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 16:13 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu



> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Tuesday, July 19, 2016 4:09 PM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v5 2/2] doc: add live migration virtio sriov image
> 
> This patch adds an image of the Live Migration for virtio and sriov test
> configuration.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
@ 2016-07-19 16:15           ` Mcnamara, John
  0 siblings, 0 replies; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 16:15 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu



> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Monday, July 18, 2016 3:30 PM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v3 1/2] doc: live migration of VM with vhost_user on host
> 
> This patch describes the procedure to be be followed to perform Live
> Migration of a VM with Virtio PMD running on a host which is running the
> vhost_user sample application (vhost-switch).
> 
> It includes sample host and VM scripts used in the procedure.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>


Note: this patch is dependent on:
[PATCH v5 1/2] doc: live migration of VM with Virtio and VF

Acked-by: John McNamara <john.mcnamara@intel.com>

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image Bernard Iremonger
@ 2016-07-19 16:15           ` Mcnamara, John
  0 siblings, 0 replies; 37+ messages in thread
From: Mcnamara, John @ 2016-07-19 16:15 UTC (permalink / raw)
  To: Iremonger, Bernard, dev; +Cc: Liu, Yong, Xu, Qian Q, yuanhan.liu



> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Monday, July 18, 2016 3:30 PM
> To: Mcnamara, John <john.mcnamara@intel.com>; dev@dpdk.org
> Cc: Liu, Yong <yong.liu@intel.com>; Xu, Qian Q <qian.q.xu@intel.com>;
> yuanhan.liu@linux.intel.com; Iremonger, Bernard
> <bernard.iremonger@intel.com>
> Subject: [PATCH v3 2/2] doc: add vhost_user live migration image
> 
> This patch adds an image of the Live Migration of a VM using vhost_user on
> the host, test configuration.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure
  2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image Bernard Iremonger
@ 2016-07-22 16:56         ` Thomas Monjalon
  2 siblings, 0 replies; 37+ messages in thread
From: Thomas Monjalon @ 2016-07-22 16:56 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: dev, john.mcnamara, yong.liu, qian.q.xu, yuanhan.liu

2016-07-19 16:09, Bernard Iremonger:
> This patch set describes the procedure to Live migrate
> a VM with Virtio and VF PMD's using the bonding PMD.

Applied, thanks

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user
  2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
  2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image Bernard Iremonger
@ 2016-07-22 16:59         ` Thomas Monjalon
  2 siblings, 0 replies; 37+ messages in thread
From: Thomas Monjalon @ 2016-07-22 16:59 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: dev, john.mcnamara, yong.liu, qian.q.xu, yuanhan.liu

2016-07-18 15:30, Bernard Iremonger:
> This patchset describes the procedure to Live migrate a VM with
> Virtio PMD's with the vhost_user sample application (vhost-switch)
> running on the host.

Applied, thanks

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2016-07-22 16:59 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-01 10:48 [dpdk-dev] [PATCH 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-01 10:48 ` [dpdk-dev] [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-06 16:01 ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-06 16:28     ` Thomas Monjalon
2016-07-07  8:44       ` Iremonger, Bernard
2016-07-06 16:01   ` [dpdk-dev] [PATCH v2 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-06 16:25   ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
2016-07-07 10:42   ` [dpdk-dev] [PATCH v3 " Bernard Iremonger
2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-15 10:50       ` Mcnamara, John
2016-07-15 11:31         ` Iremonger, Bernard
2016-07-07 10:42     ` [dpdk-dev] [PATCH v3 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-13 15:35     ` [dpdk-dev] [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
2016-07-17 18:12         ` Mcnamara, John
2016-07-18  7:53           ` Iremonger, Bernard
2016-07-13 15:36       ` [dpdk-dev] [PATCH v2 2/2] doc: add vhost_user live migration image Bernard Iremonger
2016-07-18 14:30       ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
2016-07-19 16:15           ` Mcnamara, John
2016-07-18 14:30         ` [dpdk-dev] [PATCH v3 2/2] doc: add vhost_user live migration image Bernard Iremonger
2016-07-19 16:15           ` Mcnamara, John
2016-07-22 16:59         ` [dpdk-dev] [PATCH v3 0/2] doc: live migration procedure with vhost_user Thomas Monjalon
2016-07-18 10:17     ` [dpdk-dev] [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-19 14:08         ` Mcnamara, John
2016-07-19 14:27           ` Iremonger, Bernard
2016-07-18 10:17       ` [dpdk-dev] [PATCH v4 2/2] doc: add live migration virtio sriov image Bernard Iremonger
2016-07-19 14:09         ` Mcnamara, John
2016-07-19 14:28           ` Iremonger, Bernard
2016-07-19 15:09       ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-19 16:12           ` Mcnamara, John
2016-07-19 15:09         ` [dpdk-dev] [PATCH v5 2/2] doc: add live migration virtio sriov image Bernard Iremonger
2016-07-19 16:13           ` Mcnamara, John
2016-07-22 16:56         ` [dpdk-dev] [PATCH v5 0/2] doc: live migration procedure Thomas Monjalon

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).