2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-22 01:51:26 +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 [ -z "$DPDK_VER" ]; then
DPDK_VER="16.07"
DPDK_VER="16.11"
fi
install_dpdk $DPDK_VER
if [ "$CC" = "clang" ]; then

View File

@ -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

View File

@ -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
-------------

1
NEWS
View File

@ -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:

View File

@ -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);