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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev