Re: [ovs-dev] [PATCH 0/8] Convert DPDK configuration from command line to DB based

2016-04-01 Thread Aaron Conole
Aaron Conole  writes:

> 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/119975234
> Appveyor build: https://ci.appveyor.com/project/orgcandman/ovs/build/1.0.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)
>
> 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.
>
> v11:
> * Spacing cleanups (verified with checkpatch)
> * Introduced a realpath() call
> * Validate the vhost-sock-dir is in a protected area of the filesystem
> * Split the netdev-dpdk into a netdev-nodpdk
> * Converted most of the ovs_abort() error paths into VLOG_ERR()s
>
> Aaron Conole (8):
>   netdev-dpdk: Restore thread affinity after DPDK init
>   util: Add a path canonicalizer
>   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
>   NEWS: Announce the DPDK EAL configuration change
>
>  FAQ.md |   6 +-
>  INSTALL.DPDK.md|  87 +++--
>  NEWS   |   3 +
>  configure.ac   |   2 +-
>  lib/automake.mk|   4 +
>  lib/netdev-dpdk.c  | 430 
> +
>  lib/netdev-dpdk.h  |  13 +-
>  lib/netdev-nodpdk.c|  21 +++
>  lib/util.c |  52 ++
>  lib/util.h |   1 +
>  tests/library.at   |   5 +
>  tests/ofproto-macros.at|   3 +-
>  tests/test-util.c  |  23 +++
>  utilities/ovs-dev.py   |   8 +-
>  vswitchd/bridge.c  |   3 +
>  vswitchd/ovs-vswitchd.8.in |   6 +-
>  vswitchd/ovs-vswitchd.c|  25 +--
>  vswitchd/vswitch.xml   | 143 ++-
>  18 files changed, 697 insertions(+), 138 deletions(-)
>  create mode 100644 lib/netdev-nodpdk.c

Self NAK - patch 4/8 is missing an important security fix. I will
resubmit with a proper formatted subject and the missing hunk.

Apologies for the noise.
___
dev mailing list
dev@openvswitch.

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

2016-03-31 Thread Aaron Conole
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/119975234
Appveyor build: https://ci.appveyor.com/project/orgcandman/ovs/build/1.0.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)

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.

v11:
* Spacing cleanups (verified with checkpatch)
* Introduced a realpath() call
* Validate the vhost-sock-dir is in a protected area of the filesystem
* Split the netdev-dpdk into a netdev-nodpdk
* Converted most of the ovs_abort() error paths into VLOG_ERR()s

Aaron Conole (8):
  netdev-dpdk: Restore thread affinity after DPDK init
  util: Add a path canonicalizer
  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
  NEWS: Announce the DPDK EAL configuration change

 FAQ.md |   6 +-
 INSTALL.DPDK.md|  87 +++--
 NEWS   |   3 +
 configure.ac   |   2 +-
 lib/automake.mk|   4 +
 lib/netdev-dpdk.c  | 430 +
 lib/netdev-dpdk.h  |  13 +-
 lib/netdev-nodpdk.c|  21 +++
 lib/util.c |  52 ++
 lib/util.h |   1 +
 tests/library.at   |   5 +
 tests/ofproto-macros.at|   3 +-
 tests/test-util.c  |  23 +++
 utilities/ovs-dev.py   |   8 +-
 vswitchd/bridge.c  |   3 +
 vswitchd/ovs-vswitchd.8.in |   6 +-
 vswitchd/ovs-vswitchd.c|  25 +--
 vswitchd/vswitch.xml   | 143 ++-
 18 files changed, 697 insertions(+), 138 deletions(-)
 create mode 100644 lib/netdev-nodpdk.c

-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev