All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] doc: live migration of VM with Virtio and VF
@ 2016-07-01 10:48 Bernard Iremonger
  2016-07-01 10:48 ` [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
  2016-07-06 16:01 ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH 2/2] doc: add live migration overview image
  2016-07-01 10:48 [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 ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v2 0/2] doc: live migration procedure
  2016-07-01 10:48 [PATCH 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-01 10:48 ` [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-06 16:01 ` Bernard Iremonger
  2016-07-06 16:01   ` [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

* [PATCH v2 1/2] doc: live migration of VM with Virtio and VF
  2016-07-06 16:01 ` [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   ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v2 2/2] doc: add live migration overview image
  2016-07-06 16:01 ` [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-06 16:01   ` [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   ` [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
  2016-07-07 10:42   ` [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 related	[flat|nested] 37+ messages in thread

* Re: [PATCH v2 0/2] doc: live migration procedure
  2016-07-06 16:01 ` [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-06 16:01   ` [PATCH v2 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-06 16:01   ` [PATCH v2 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-06 16:25   ` Thomas Monjalon
  2016-07-07 10:42   ` [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: [PATCH v2 1/2] doc: live migration of VM with Virtio and VF
  2016-07-06 16:01   ` [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: [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

* [PATCH v3 0/2] doc: live migration procedure
  2016-07-06 16:01 ` [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
                     ` (2 preceding siblings ...)
  2016-07-06 16:25   ` [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
@ 2016-07-07 10:42   ` Bernard Iremonger
  2016-07-07 10:42     ` [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

* [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
  2016-07-07 10:42   ` [PATCH v3 " Bernard Iremonger
@ 2016-07-07 10:42     ` Bernard Iremonger
  2016-07-15 10:50       ` Mcnamara, John
  2016-07-07 10:42     ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v3 2/2] doc: add live migration overview image
  2016-07-07 10:42   ` [PATCH v3 " Bernard Iremonger
  2016-07-07 10:42     ` [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     ` [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 10:17     ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v2 0/2] doc: live migration procedure with vhost_user
  2016-07-07 10:42   ` [PATCH v3 " Bernard Iremonger
  2016-07-07 10:42     ` [PATCH v3 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-07 10:42     ` [PATCH v3 2/2] doc: add live migration overview image Bernard Iremonger
@ 2016-07-13 15:35     ` Bernard Iremonger
  2016-07-13 15:36       ` [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
                         ` (2 more replies)
  2016-07-18 10:17     ` [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

* [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
  2016-07-13 15:35     ` [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       ` [PATCH v2 2/2] doc: add vhost_user live migration image Bernard Iremonger
  2016-07-18 14:30       ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v2 2/2] doc: add vhost_user live migration image
  2016-07-13 15:35     ` [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-13 15:36       ` [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       ` [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 related	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 1/2] doc: live migration of VM with Virtio and VF
  2016-07-07 10:42     ` [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: [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: [PATCH v2 1/2] doc: live migration of VM with vhost_user on host
  2016-07-13 15:36       ` [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: [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

* [PATCH v4 0/2] doc: live migration procedure
  2016-07-07 10:42   ` [PATCH v3 " Bernard Iremonger
                       ` (2 preceding siblings ...)
  2016-07-13 15:35     ` [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       ` [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

* [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
  2016-07-18 10:17     ` [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       ` [PATCH v4 2/2] doc: add live migration virtio sriov image Bernard Iremonger
  2016-07-19 15:09       ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v4 2/2] doc: add live migration virtio sriov image
  2016-07-18 10:17     ` [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-18 10:17       ` [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       ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v3 0/2] doc: live migration procedure with vhost_user
  2016-07-13 15:35     ` [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-13 15:36       ` [PATCH v2 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
  2016-07-13 15:36       ` [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         ` [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

* [PATCH v3 1/2] doc: live migration of VM with vhost_user on host
  2016-07-18 14:30       ` [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         ` [PATCH v3 2/2] doc: add vhost_user live migration image Bernard Iremonger
  2016-07-22 16:59         ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v3 2/2] doc: add vhost_user live migration image
  2016-07-18 14:30       ` [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 14:30         ` [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         ` [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 related	[flat|nested] 37+ messages in thread

* Re: [PATCH v4 1/2] doc: live migration of VM with Virtio and VF
  2016-07-18 10:17       ` [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: [PATCH v4 2/2] doc: add live migration virtio sriov image
  2016-07-18 10:17       ` [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: [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: [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

* [PATCH v5 0/2] doc: live migration procedure
  2016-07-18 10:17     ` [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-18 10:17       ` [PATCH v4 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-18 10:17       ` [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         ` [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

* [PATCH v5 1/2] doc: live migration of VM with Virtio and VF
  2016-07-19 15:09       ` [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         ` [PATCH v5 2/2] doc: add live migration virtio sriov image Bernard Iremonger
  2016-07-22 16:56         ` [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 related	[flat|nested] 37+ messages in thread

* [PATCH v5 2/2] doc: add live migration virtio sriov image
  2016-07-19 15:09       ` [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-19 15:09         ` [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         ` [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 related	[flat|nested] 37+ messages in thread

* Re: [PATCH v5 1/2] doc: live migration of VM with Virtio and VF
  2016-07-19 15:09         ` [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: [PATCH v5 2/2] doc: add live migration virtio sriov image
  2016-07-19 15:09         ` [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: [PATCH v3 1/2] doc: live migration of VM with vhost_user on host
  2016-07-18 14:30         ` [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: [PATCH v3 2/2] doc: add vhost_user live migration image
  2016-07-18 14:30         ` [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: [PATCH v5 0/2] doc: live migration procedure
  2016-07-19 15:09       ` [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
  2016-07-19 15:09         ` [PATCH v5 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
  2016-07-19 15:09         ` [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: [PATCH v3 0/2] doc: live migration procedure with vhost_user
  2016-07-18 14:30       ` [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
  2016-07-18 14:30         ` [PATCH v3 1/2] doc: live migration of VM with vhost_user on host Bernard Iremonger
  2016-07-18 14:30         ` [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 [PATCH 1/2] doc: live migration of VM with Virtio and VF Bernard Iremonger
2016-07-01 10:48 ` [PATCH 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-06 16:01 ` [PATCH v2 0/2] doc: live migration procedure Bernard Iremonger
2016-07-06 16:01   ` [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   ` [PATCH v2 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-06 16:25   ` [PATCH v2 0/2] doc: live migration procedure Thomas Monjalon
2016-07-07 10:42   ` [PATCH v3 " Bernard Iremonger
2016-07-07 10:42     ` [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     ` [PATCH v3 2/2] doc: add live migration overview image Bernard Iremonger
2016-07-13 15:35     ` [PATCH v2 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
2016-07-13 15:36       ` [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       ` [PATCH v2 2/2] doc: add vhost_user live migration image Bernard Iremonger
2016-07-18 14:30       ` [PATCH v3 0/2] doc: live migration procedure with vhost_user Bernard Iremonger
2016-07-18 14:30         ` [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         ` [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         ` [PATCH v3 0/2] doc: live migration procedure with vhost_user Thomas Monjalon
2016-07-18 10:17     ` [PATCH v4 0/2] doc: live migration procedure Bernard Iremonger
2016-07-18 10:17       ` [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       ` [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       ` [PATCH v5 0/2] doc: live migration procedure Bernard Iremonger
2016-07-19 15:09         ` [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         ` [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         ` [PATCH v5 0/2] doc: live migration procedure Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.