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 OSX, Fedora 23, Windows (via appveyor), and FreeBSD 10.3; the v11 has had very basic testing applied (start, configure some of the settings). I have removed ACKs and Tested-bys for some of the patches since they underwent changes that I felt disqualified continued use of the Acked-by: and Tested-by: tags. Travis-ci build: https://travis-ci.org/orgcandman/ovs/builds/120081527 Appveyor build: https://ci.appveyor.com/project/orgcandman/ovs/build/1.0.9 This is a resend due to an accidentally omitted hunk in 4/8. 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 v12: * Rebased to latest upstream * Dropped path canonicalization * Squashed NEWS changes into their specific commits. 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 | 87 +++++++-- NEWS | 6 + lib/automake.mk | 4 + lib/netdev-dpdk.c | 430 +++++++++++++++++++++++++++++++++++++-------- lib/netdev-dpdk.h | 14 +- lib/netdev-nodpdk.c | 21 +++ tests/ofproto-macros.at | 3 +- utilities/ovs-dev.py | 10 +- vswitchd/bridge.c | 3 + vswitchd/ovs-vswitchd.8.in | 6 +- vswitchd/ovs-vswitchd.c | 27 +-- vswitchd/vswitch.xml | 133 ++++++++++++++ 13 files changed, 615 insertions(+), 135 deletions(-) create mode 100644 lib/netdev-nodpdk.c -- 2.5.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev