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.
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 v2: * Dropped the vhost-user socket configuration options. Those can be re-added as an extension * Incorporated feedback from Kevin Traynor. v3: * Went back to a global dpdk-init * Language cleanup and various minor fixes v4: * Added a way to pass arbitrary eal arguments v5: * Restore the socket-mem default, and fix up the ovs-dev.py script, along with the manpage for ovsdb-server v6: * Correct a documentation issue with INSTALL.DPDK.md * Correct a non-dpdk enabled OVS incorrect warning variable * Remove an excess whitespace v7: * After testing by Christian with dpdk-alloc-mem v8: * Confirmed ``make check`` operation with and without dpdk. Retested on live-host v9: * Cleanup of comments * Cleanup of one place where headers are specified * Mark the dpdk coremask and numa config as optional * Added 5/6 to scan the extras and warn the user when conflicting DB entries are present * Acks given for all but patch 5/6 v10: * Rebased against latest upstream * ACK or Tested-by for all patches * Code cleanup on patch 2/6 (vhost-cuse warning) * DB options documentation cleanup. Aaron Conole (6): netdev-dpdk: Restore thread affinity after DPDK init netdev-dpdk: Convert initialization from cmdline to db netdev-dpdk: Autofill lcore coremask if absent netdev-dpdk: Allow arbitrary eal arguments netdev-dpdk: Check dpdk-extra when reading db NEWS: Announce the DPDK EAL configuration change FAQ.md | 6 +- INSTALL.DPDK.md | 86 +++++++--- NEWS | 3 + lib/netdev-dpdk.c | 409 +++++++++++++++++++++++++++++++++++++-------- lib/netdev-dpdk.h | 22 ++- tests/ofproto-macros.at | 3 +- utilities/ovs-dev.py | 7 +- vswitchd/bridge.c | 3 + vswitchd/ovs-vswitchd.8.in | 5 +- vswitchd/ovs-vswitchd.c | 25 +-- vswitchd/vswitch.xml | 142 +++++++++++++++- 11 files changed, 581 insertions(+), 130 deletions(-) -- 2.5.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev