[ovs-dev] [PATCH v2] netdev-dpdk: Add support for DPDK 16.11

Ciara Loftus ciara.loftus at intel.com
Fri Nov 25 10:41:11 UTC 2016


This commit announces support for DPDK 16.11. Compaitibilty with DPDK
v16.07 is not broken yet thanks to only minor code changes being needed
for the upgrade.

Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
---
v2:
* Fix broken link to release notes.

 .travis/linux-build.sh    |  2 +-
 INSTALL.DPDK-ADVANCED.rst |  4 ++--
 INSTALL.DPDK.rst          | 18 +++++++++---------
 NEWS                      |  1 +
 lib/netdev-dpdk.c         |  3 ++-
 5 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index 3bcec93..6fe663c 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -80,7 +80,7 @@ fi
 
 if [ "$DPDK" ]; then
     if [ -z "$DPDK_VER" ]; then
-        DPDK_VER="16.07"
+        DPDK_VER="16.11"
     fi
     install_dpdk $DPDK_VER
     if [ "$CC" = "clang" ]; then
diff --git a/INSTALL.DPDK-ADVANCED.rst b/INSTALL.DPDK-ADVANCED.rst
index 7ecbc59..9b2895b 100644
--- a/INSTALL.DPDK-ADVANCED.rst
+++ b/INSTALL.DPDK-ADVANCED.rst
@@ -393,7 +393,7 @@ bridge ``br0``. Once complete, follow the below steps:
        $ 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.07
+       $ export RTE_SDK=/usr/src/dpdk-16.11
        $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
        $ make
        $ ./build/cmdline_generator -m -p dpdkr0 XXX
@@ -414,7 +414,7 @@ bridge ``br0``. Once complete, follow the below steps:
        $ mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
 
        # Build the DPDK ring application in the VM
-       $ export RTE_SDK=/root/dpdk-16.07
+       $ export RTE_SDK=/root/dpdk-16.11
        $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
        $ make
 
diff --git a/INSTALL.DPDK.rst b/INSTALL.DPDK.rst
index 55ee1ba..a078093 100644
--- a/INSTALL.DPDK.rst
+++ b/INSTALL.DPDK.rst
@@ -38,7 +38,7 @@ Build requirements
 In addition to the requirements described in the `installation guide
 <INSTALL.rst>`__, building Open vSwitch with DPDK will require the following:
 
-- DPDK 16.07
+- DPDK 16.11
 
 - A `DPDK supported NIC`_
 
@@ -69,9 +69,9 @@ DPDK
 1. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
 
        $ cd /usr/src/
-       $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
-       $ unzip dpdk-16.07.zip
-       $ export DPDK_DIR=/usr/src/dpdk-16.07
+       $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11.zip
+       $ unzip dpdk-16.11.zip
+       $ export DPDK_DIR=/usr/src/dpdk-16.11
        $ cd $DPDK_DIR
 
 2. Configure and install DPDK
@@ -363,9 +363,9 @@ To being, instantiate the guest::
 Download the DPDK sourcs to VM and build DPDK::
 
     $ cd /root/dpdk/
-    $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
-    $ unzip dpdk-16.07.zip
-    $ export DPDK_DIR=/root/dpdk/dpdk-16.07
+    $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11.zip
+    $ unzip dpdk-16.11.zip
+    $ export DPDK_DIR=/root/dpdk/dpdk-16.11
     $ export DPDK_TARGET=x86_64-native-linuxapp-gcc
     $ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
     $ cd $DPDK_DIR
@@ -521,7 +521,7 @@ configuration for a 'demovm' guest that can be instantiated using `virsh`::
         </disk>
         <disk type='dir' device='disk'>
           <driver name='qemu' type='fat'/>
-          <source dir='/usr/src/dpdk-16.07'/>
+          <source dir='/usr/src/dpdk-16.11'/>
           <target dev='vdb' bus='virtio'/>
           <readonly/>
         </disk>
@@ -596,7 +596,7 @@ Limitations
   The latest list of validated firmware versions can be found in the `DPDK
   release notes`_.
 
-.. _DPDK release notes: http://dpdk.org/doc/guides/rel_notes/release_16.07.html
+.. _DPDK release notes: http://dpdk.org/doc/guides/rel_notes/release_16_11.html
 
 Bug Reporting
 -------------
diff --git a/NEWS b/NEWS
index a4806d3..22beeb2 100644
--- a/NEWS
+++ b/NEWS
@@ -38,6 +38,7 @@ Post-v2.6.0
    - DPDK:
      * New option 'n_rxq_desc' and 'n_txq_desc' fields for DPDK interfaces
        which set the number of rx and tx descriptors to use for the given port.
+     * Support for DPDK v16.11.
    - Fedora packaging:
      * A package upgrade does not automatically restart OVS service.
    - ovs-vswitchd/ovs-vsctl:
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index de78ddd..7564ad7 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2593,7 +2593,8 @@ netdev_dpdk_vhost_class_init(void)
         rte_vhost_driver_callback_register(&virtio_net_device_ops);
         rte_vhost_feature_disable(1ULL << VIRTIO_NET_F_HOST_TSO4
                                   | 1ULL << VIRTIO_NET_F_HOST_TSO6
-                                  | 1ULL << VIRTIO_NET_F_CSUM);
+                                  | 1ULL << VIRTIO_NET_F_CSUM
+                                  | 1ULL << VIRTIO_RING_F_INDIRECT_DESC);
         ovs_thread_create("vhost_thread", start_vhost_loop, NULL);
 
         ovsthread_once_done(&once);
-- 
2.4.3



More information about the dev mailing list