@@ -30,5 +30,4 @@ EXTRA_DIST += \
Documentation/topics/dpdk/index.rst \
Documentation/topics/dpdk/vhost-user.rst \
- Documentation/topics/dpdk/ivshmem.rst \
Documentation/topics/testing.rst \
Documentation/topics/high-availability.rst \
@@ -534,70 +534,2 @@ devices to bridge ``br0``. Once complete, follow the below steps:
$ cat /proc/interrupts | grep virtio
-
-PHY-VM-PHY (IVSHMEM loopback)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-IVSHMEM can also be validated using the PHY-VM-PHY configuration. To begin, add
-a userspace bridge, two ``dpdk`` (PHY) ports, and a single ``dpdkr`` port::
-
- # Add userspace bridge
- $ ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
-
- # Add two dpdk ports
- $ ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk
- $ ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk
-
- # Add one dpdkr ports
- $ ovs-vsctl add-port br0 dpdkr0 -- set Interface dpdkr0 type=dpdkr
-
-.. TODO(stephenfin): What flows should the user configure?
-
-QEMU must be patched to enable IVSHMEM support::
-
- $ cd /usr/src/
- $ wget http://wiki.qemu.org/download/qemu-2.2.1.tar.bz2
- $ tar -jxvf qemu-2.2.1.tar.bz2
- $ cd /usr/src/qemu-2.2.1
- $ wget https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/patches/ivshmem-qemu-2.2.1.patch
- $ patch -p1 < ivshmem-qemu-2.2.1.patch
- $ ./configure --target-list=x86_64-softmmu --enable-debug --extra-cflags='-g'
- $ make -j 4
-
-In addition, the ``cmdline_generator`` utility must be downloaded and built::
-
- $ mkdir -p /usr/src/cmdline_generator
- $ cd /usr/src/cmdline_generator
- $ wget https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/cmdline_generator.c
- $ wget https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/Makefile
- $ export RTE_SDK=/usr/src/dpdk-16.11
- $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
- $ make
-
-Once both the patche QEMU and ``cmdline_generator`` utilities have been built,
-run ``cmdline_generator`` to generate a suitable QEMU commandline, and use this
-to instantiate a guest. For example::
-
- $ ./build/cmdline_generator -m -p dpdkr0 XXX
- $ cmdline=`cat OVSMEMPOOL`
- $ export VM_NAME=ivshmem-vm
- $ export QCOW2_IMAGE=/root/CentOS7_x86_64.qcow2
- $ export QEMU_BIN=/usr/src/qemu-2.2.1/x86_64-softmmu/qemu-system-x86_64
- $ taskset 0x20 $QEMU_BIN -cpu host -smp 2,cores=2 -hda $QCOW2_IMAGE \
- -m 4096 --enable-kvm -name $VM_NAME -nographic -vnc :2 \
- -pidfile /tmp/vm1.pid $cmdline
-
-When the guest has started, connect to it and build and run the sample
-``dpdkr`` app. This application will simply loopback packets received over the
-DPDK ring port::
-
- $ echo 1024 > /proc/sys/vm/nr_hugepages
- $ mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
-
- # Build the DPDK ring application in the VM
- $ export RTE_SDK=/root/dpdk-16.11
- $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
- $ make
-
- # Run dpdkring application
- $ ./build/dpdkr -c 1 -n 4 -- -n 0
- # where "-n 0" refers to ring '0' i.e dpdkr0
@@ -71,6 +71,5 @@ Deeper Dive
- **DPDK** :doc:`howto/dpdk` |
- :doc:`topics/dpdk/vhost-user` |
- :doc:`topics/dpdk/ivshmem`
+ :doc:`topics/dpdk/vhost-user`
- **Windows** :doc:`topics/windows`
@@ -92,8 +92,4 @@ Install DPDK
$ make install T=$DPDK_TARGET DESTDIR=install
- If IVSHMEM support is required, use a different target::
-
- $ export DPDK_TARGET=x86_64-ivshmem-linuxapp-gcc
-
#. (Optional) Export the DPDK shared library location
@@ -227,5 +223,5 @@ listed below. Defaults will be provided for all values not explicitly set.
Option to set the path to the vhost-user unix socket files.
-If allocating more than one GB hugepage (as for IVSHMEM), you can configure the
+If allocating more than one GB hugepage, you can configure the
amount of memory used from any given NUMA nodes. For example, to use 1GB from
NUMA node 0, run::
@@ -241,6 +237,4 @@ threads and pin them to cores 1,2, run::
$ ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x6
-For details on using IVSHMEM with DPDK, refer to :doc:`/topics/dpdk/ivshmem`.
-
Refer to ovs-vswitchd.conf.db(5) for additional information on configuration
options.
@@ -30,3 +30,2 @@ The DPDK Datapath
vhost-user
- ivshmem
deleted file mode 100644
@@ -1,28 +0,0 @@
-..
- Licensed under the Apache License, Version 2.0 (the "License"); you may
- not use this file except in compliance with the License. You may obtain
- a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- License for the specific language governing permissions and limitations
- under the License.
-
- Convention for heading levels in Open vSwitch documentation:
-
- ======= Heading 0 (reserved for the title in a document)
- ------- Heading 1
- ~~~~~~~ Heading 2
- +++++++ Heading 3
- ''''''' Heading 4
-
- Avoid deeper levels because they do not render well.
-
-==================
-DPDK IVSHMEM Ports
-==================
-
-**TODO**
ivshmem is a path to the guest using DPDK rings that was introduced before userspace vhost was available in the OVS-DPDK datapath. ivshmem is external to OVS but the scheme of using it with DPDK rings is documented. Remove ivshmem instruction documentation because: - The ivshmem library has been removed in DPDK since DPDK 16.11. - The instructions/scheme provided will not work with current supported and future DPDK versions. - The linked patch needed to enable support in QEMU has never been upstreamed and does not apply to the last 4 QEMU releases. - Userspace vhost has become the defacto OVS-DPDK path to the guest. Fixes: 04de404e1bfa ("netdev-dpdk: Add support for DPDK 16.11") Cc: Ciara Loftus <ciara.loftus@intel.com> Cc: Stephen Finucane <stephen@that.guru> Signed-off-by: Kevin Traynor <ktraynor@redhat.com> --- Documentation/automake.mk | 1 - Documentation/howto/dpdk.rst | 68 ----------------------------------- Documentation/index.rst | 3 +- Documentation/intro/install/dpdk.rst | 8 +---- Documentation/topics/dpdk/index.rst | 1 - Documentation/topics/dpdk/ivshmem.rst | 28 --------------- 6 files changed, 2 insertions(+), 107 deletions(-) delete mode 100644 Documentation/topics/dpdk/ivshmem.rst