[ovs-dev] [PATCH v13 0/6] Convert DPDK configuration from command line to DB based

Aaron Conole aconole at redhat.com
Fri Apr 29 17:43:59 UTC 2016


Currently, configuration of DPDK parameters is done via the command line
through a --dpdk **OPTIONS** -- command line argument. This has a number of
challenges, including:
* It must be the first option passed to ovs-vswitchd
* It is the only datapath feature in OVS to be configured on the command
  line
* It requires specialized knowledge of sub-component command switches
* It also inteprets non-EAL arguments (confusing users)
* It is a broken model for datapath configuration.

This series brings the following changes to openvswitch:
* All DPDK options are taken from the ovs database rather than the
  command line
* Non-EAL arguments also have separate database entries
* DPDK lcores are optionally auto-assigned to a single core based on the
  bridge coremask.
* DPDK options have default behaviors
* Updated documentation

This series has been build tested (including `make check`) on Fedora 23, OS X
Windows (via appveyor), and FreeBSD 10.3; the v13 has had very basic testing
applied (start, configure some of the settings). 

Travis-ci build: https://travis-ci.org/orgcandman/ovs/builds/126691300
Appveyor build: https://ci.appveyor.com/project/orgcandman/ovs/build/1.0.13

A huge round of thanks on the work so far should be given to the following
folks (in alphabetical order):
* Ben Pfaff             (Reviews, vhost-sock-dir escape suggestion)
* Christian Erhardt     (Testing)
* Daniele Di Proietto   (Reviews, general suggestions)
* Flavio Leitner        (Original efforts, reviews)
* Kevin Traynor         (Testing, general suggestions, reviews, doc reviews)
* Panu Matilainen       (Initialization ideas, eal arguments ideas, reviews)
* RobertX Wojciechowicz (Testing, general suggestions)
* Sean Mooney           (Testing, general suggestions)

Previous series: http://openvswitch.org/pipermail/dev/2016-April/069025.html

v13:
* Rebased to latest upstream
* Addressed sparse errors
* Removed the dpdk-mem-channels option
* Switched to using the other_config smap directly.
* Moved the netdev_dpdk_register() to the dpdk_init__ routine.

Aaron Conole (6):
  netdev-dpdk: Restore thread affinity after DPDK init
  netdev-dpdk: Convert initialization from cmdline to db
  netdev-dpdk: Restrict vhost_sock_dir
  netdev-dpdk: Autofill lcore coremask if absent
  netdev-dpdk: Allow arbitrary eal arguments
  netdev-dpdk: Check dpdk-extra when reading db

 FAQ.md                     |   6 +-
 INSTALL.DPDK.md            |  83 +++++++--
 NEWS                       |   6 +
 lib/automake.mk            |   4 +
 lib/netdev-dpdk.c          | 452 ++++++++++++++++++++++++++++++++++++---------
 lib/netdev-dpdk.h          |  14 +-
 lib/netdev-nodpdk.c        |  20 ++
 lib/netdev.c               |   2 -
 tests/ofproto-macros.at    |   3 +-
 utilities/ovs-dev.py       |  10 +-
 vswitchd/bridge.c          |   5 +
 vswitchd/ovs-vswitchd.8.in |   6 +-
 vswitchd/ovs-vswitchd.c    |  27 +--
 vswitchd/vswitch.xml       | 121 ++++++++++++
 14 files changed, 612 insertions(+), 147 deletions(-)
 create mode 100644 lib/netdev-nodpdk.c

-- 
2.5.5




More information about the dev mailing list