[ovs-dev] [PATCH RFC v2 1/2] netdev-dpdk: Add support for DPDK 16.11

Ciara Loftus ciara.loftus at intel.com
Fri Oct 14 15:19:09 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. This may change soon however with the addition of
subsequent commits that integrate 16.11-only features.

Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>

---
v2:
* Disable indirect desc for vHost & update commit message
---
 .travis/linux-build.sh   |  2 +-
 INSTALL.DPDK-ADVANCED.md |  6 +++---
 INSTALL.DPDK.md          | 20 ++++++++++----------
 NEWS                     |  1 +
 lib/netdev-dpdk.c        |  3 ++-
 5 files changed, 17 insertions(+), 15 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.md b/INSTALL.DPDK-ADVANCED.md
index f6f0b5b..2ff8243 100644
--- a/INSTALL.DPDK-ADVANCED.md
+++ b/INSTALL.DPDK-ADVANCED.md
@@ -46,7 +46,7 @@ for DPDK and OVS.
     For IVSHMEM case, set `export DPDK_TARGET=x86_64-ivshmem-linuxapp-gcc`
 
     ```
-    export DPDK_DIR=/usr/src/dpdk-16.07
+    export DPDK_DIR=/usr/src/dpdk-16.11
     export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
     make install T=$DPDK_TARGET DESTDIR=install
     ```
@@ -358,7 +358,7 @@ For users wanting to do packet forwarding using kernel stack below are the 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
@@ -382,7 +382,7 @@ For users wanting to do packet forwarding using kernel stack below are the 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.md b/INSTALL.DPDK.md
index 30e9258..2f0ae9a 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered 'experimental'.
 
 ### Prerequisites
 
-* Required: DPDK 16.07
+* Required: DPDK 16.11
 * Hardware: [DPDK Supported NICs] when physical ports in use
 
 ## <a name="build"></a> 2. Building and Installation
@@ -42,10 +42,10 @@ advanced install guide [INSTALL.DPDK-ADVANCED.md]
 
      ```
      cd /usr/src/
-     wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
-     unzip dpdk-16.07.zip
+     wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11.zip
+     unzip dpdk-16.11.zip
 
-     export DPDK_DIR=/usr/src/dpdk-16.07
+     export DPDK_DIR=/usr/src/dpdk-16.11
      cd $DPDK_DIR
      ```
 
@@ -372,9 +372,9 @@ can be found in [Vhost Walkthrough].
 
   ```
   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
@@ -530,7 +530,7 @@ can be found in [Vhost Walkthrough].
            </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>
@@ -599,9 +599,9 @@ can be found in [Vhost Walkthrough].
     DPDK. It is recommended that users update Network Interface firmware to
     match what has been validated for the DPDK release.
 
-    For DPDK 16.07, the list of validated firmware versions can be found at:
+    For DPDK 16.11, the list of validated firmware versions can be found at:
 
-    http://dpdk.org/doc/guides/rel_notes/release_16.07.html
+    http://dpdk.org/doc/guides/rel_notes/release_16.11.html
 
 
 Bug Reporting:
diff --git a/NEWS b/NEWS
index 9b6fa35..ab74fcd 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,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.
 
 v2.6.0 - 27 Sep 2016
 ---------------------
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 7c1523e..e8cd22a 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2584,7 +2584,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