2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-29 05:18:13 +00:00

netdev-dpdk: Add support for DPDK 16.11

This commit announces support for DPDK 16.11. Compatibility 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@intel.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
This commit is contained in:
Ciara Loftus 2016-11-25 10:41:11 +00:00 committed by Simon Horman
parent 0dfdd1364d
commit 04de404e1b
5 changed files with 15 additions and 13 deletions

View File

@ -80,7 +80,7 @@ fi
if [ "$DPDK" ]; then if [ "$DPDK" ]; then
if [ -z "$DPDK_VER" ]; then if [ -z "$DPDK_VER" ]; then
DPDK_VER="16.07" DPDK_VER="16.11"
fi fi
install_dpdk $DPDK_VER install_dpdk $DPDK_VER
if [ "$CC" = "clang" ]; then if [ "$CC" = "clang" ]; then

View File

@ -393,7 +393,7 @@ bridge ``br0``. Once complete, follow the below steps:
$ cd /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/cmdline_generator.c
$ wget https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/Makefile $ 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 $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
$ make $ make
$ ./build/cmdline_generator -m -p dpdkr0 XXX $ ./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) $ mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
# Build the DPDK ring application in the VM # 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 $ export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
$ make $ make

View File

@ -38,7 +38,7 @@ Build requirements
In addition to the requirements described in the `installation guide In addition to the requirements described in the `installation guide
<INSTALL.rst>`__, building Open vSwitch with DPDK will require the following: <INSTALL.rst>`__, building Open vSwitch with DPDK will require the following:
- DPDK 16.07 - DPDK 16.11
- A `DPDK supported NIC`_ - A `DPDK supported NIC`_
@ -69,9 +69,9 @@ DPDK
1. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``:: 1. Download the `DPDK sources`_, extract the file and set ``DPDK_DIR``::
$ cd /usr/src/ $ cd /usr/src/
$ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11.zip
$ unzip dpdk-16.07.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 $ cd $DPDK_DIR
2. Configure and install DPDK 2. Configure and install DPDK
@ -363,9 +363,9 @@ To being, instantiate the guest::
Download the DPDK sourcs to VM and build DPDK:: Download the DPDK sourcs to VM and build DPDK::
$ cd /root/dpdk/ $ cd /root/dpdk/
$ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip $ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11.zip
$ unzip dpdk-16.07.zip $ unzip dpdk-16.11.zip
$ export DPDK_DIR=/root/dpdk/dpdk-16.07 $ export DPDK_DIR=/root/dpdk/dpdk-16.11
$ export DPDK_TARGET=x86_64-native-linuxapp-gcc $ export DPDK_TARGET=x86_64-native-linuxapp-gcc
$ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET $ export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
$ cd $DPDK_DIR $ cd $DPDK_DIR
@ -521,7 +521,7 @@ configuration for a 'demovm' guest that can be instantiated using `virsh`::
</disk> </disk>
<disk type='dir' device='disk'> <disk type='dir' device='disk'>
<driver name='qemu' type='fat'/> <driver name='qemu' type='fat'/>
<source dir='/usr/src/dpdk-16.07'/> <source dir='/usr/src/dpdk-16.11'/>
<target dev='vdb' bus='virtio'/> <target dev='vdb' bus='virtio'/>
<readonly/> <readonly/>
</disk> </disk>
@ -596,7 +596,7 @@ Limitations
The latest list of validated firmware versions can be found in the `DPDK The latest list of validated firmware versions can be found in the `DPDK
release notes`_. 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 Bug Reporting
------------- -------------

1
NEWS
View File

@ -38,6 +38,7 @@ Post-v2.6.0
- DPDK: - DPDK:
* New option 'n_rxq_desc' and 'n_txq_desc' fields for DPDK interfaces * 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. which set the number of rx and tx descriptors to use for the given port.
* Support for DPDK v16.11.
- Fedora packaging: - Fedora packaging:
* A package upgrade does not automatically restart OVS service. * A package upgrade does not automatically restart OVS service.
- ovs-vswitchd/ovs-vsctl: - ovs-vswitchd/ovs-vsctl:

View File

@ -2593,7 +2593,8 @@ netdev_dpdk_vhost_class_init(void)
rte_vhost_driver_callback_register(&virtio_net_device_ops); rte_vhost_driver_callback_register(&virtio_net_device_ops);
rte_vhost_feature_disable(1ULL << VIRTIO_NET_F_HOST_TSO4 rte_vhost_feature_disable(1ULL << VIRTIO_NET_F_HOST_TSO4
| 1ULL << VIRTIO_NET_F_HOST_TSO6 | 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); ovs_thread_create("vhost_thread", start_vhost_loop, NULL);
ovsthread_once_done(&once); ovsthread_once_done(&once);