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 <[email protected]> --- 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 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
