diff mbox

[ovs-dev,1/2] doc: Remove ivshmem instructions.

Message ID 1483467689-15492-1-git-send-email-ktraynor@redhat.com
State Accepted
Delegated to: Daniele Di Proietto
Headers show

Commit Message

Kevin Traynor Jan. 3, 2017, 6:21 p.m. UTC
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

Comments

Stephen Finucane Jan. 3, 2017, 6:35 p.m. UTC | #1
On Tue, 2017-01-03 at 18:21 +0000, Kevin Traynor wrote:
> 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>

Looks a-OK to me. Delighted I don't have to populate that IVSHMEM topic
guide too :)

Acked-by: Stephen Finucane <stephen@that.guru>

Stephen
Mauricio Vasquez Jan. 3, 2017, 8:51 p.m. UTC | #2
On 01/03/2017 01:21 PM, Kevin Traynor wrote:
> 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>
This was on my TODO list for a long time, unfortunately I didn't have 
the time for it.

Acked-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
Daniele Di Proietto Jan. 5, 2017, 12:44 a.m. UTC | #3
2017-01-03 12:51 GMT-08:00 Mauricio Vasquez <mauricio.vasquez@polito.it>:
>
>
> On 01/03/2017 01:21 PM, Kevin Traynor wrote:
>>
>> 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>
>
> This was on my TODO list for a long time, unfortunately I didn't have the
> time for it.
>
> Acked-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>

Applied to master, thanks!

>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
diff mbox

Patch

diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index 98adca7..7b6c916 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -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 \
diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst
index e96ce56..d703958 100644
--- a/Documentation/howto/dpdk.rst
+++ b/Documentation/howto/dpdk.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
diff --git a/Documentation/index.rst b/Documentation/index.rst
index e4e98cb..6a9bfde 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -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`
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst
index 54d56ec..10ceabb 100644
--- a/Documentation/intro/install/dpdk.rst
+++ b/Documentation/intro/install/dpdk.rst
@@ -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.
diff --git a/Documentation/topics/dpdk/index.rst b/Documentation/topics/dpdk/index.rst
index 3c98a9a..180ebbf 100644
--- a/Documentation/topics/dpdk/index.rst
+++ b/Documentation/topics/dpdk/index.rst
@@ -30,3 +30,2 @@  The DPDK Datapath
 
    vhost-user
-   ivshmem
diff --git a/Documentation/topics/dpdk/ivshmem.rst b/Documentation/topics/dpdk/ivshmem.rst
deleted file mode 100644
index bd4dd99..0000000
--- a/Documentation/topics/dpdk/ivshmem.rst
+++ /dev/null
@@ -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**