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

2016-03-09 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.


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


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

2016-03-28 Thread Aaron Conole
Hi (and apologies if the top posting is inappropriate),

Don't want to be a pest, but just pinging re: this series. What work
remains? I want to try and close this out to do some additional
vhostuser config work, so anything that might be gating this please let
me know and I'll work on it.

Thanks,
-Aaron

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


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

2016-03-28 Thread Daniele Di Proietto
Hi Aaron,

apologies for the delay.  I'm finally convinced that this is the
best way for OVS to initialize DPDK.

I've put some comments on the patches, mostly minor fixes, other than
those I think this is ready to be merged

Thanks for all your work,

Daniele

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

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


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

2016-03-28 Thread Wojciechowicz, RobertX
Hi Aaron,

just gentle reminder

> -Original Message-
> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Aaron
> Conole
> Sent: Monday, March 28, 2016 8:55 PM
> To: dev@openvswitch.org
> Cc: Flavio Leitner 
> Subject: Re: [ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from
> command line to DB based
> 
> Hi (and apologies if the top posting is inappropriate),
> 
> Don't want to be a pest, but just pinging re: this series. What work
> remains? I want to try and close this out to do some additional
> vhostuser config work, so anything that might be gating this please let
> me know and I'll work on it.
> 

Please remember to add "vhost-sock-dir" to the database,
even if there will be used the default directory (no command line value).

> Thanks,
> -Aaron
> 

Thanks,
Robert

> 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.
> >
> >
> > 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(-)
> ___
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
--
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


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

2016-03-29 Thread Ben Pfaff
On Tue, Mar 29, 2016 at 06:04:44AM +, Wojciechowicz, RobertX wrote:
> > -Original Message-
> > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Aaron
> > Conole
> > Sent: Monday, March 28, 2016 8:55 PM
> > To: dev@openvswitch.org
> > Cc: Flavio Leitner 
> > Subject: Re: [ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from
> > command line to DB based
> > 
> > Hi (and apologies if the top posting is inappropriate),
> > 
> > Don't want to be a pest, but just pinging re: this series. What work
> > remains? I want to try and close this out to do some additional
> > vhostuser config work, so anything that might be gating this please let
> > me know and I'll work on it.
> > 
> 
> Please remember to add "vhost-sock-dir" to the database,
> even if there will be used the default directory (no command line value).

I'm nervous about adding unrestricted directory names to the database,
because they could allow a remote database user to write to arbitrary
places in the file system.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


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

2016-03-29 Thread Aaron Conole
Ben Pfaff  writes:

> On Tue, Mar 29, 2016 at 06:04:44AM +, Wojciechowicz, RobertX wrote:
>> > -Original Message-
>> > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Aaron
>> > Conole
>> > Sent: Monday, March 28, 2016 8:55 PM
>> > To: dev@openvswitch.org
>> > Cc: Flavio Leitner 
>> > Subject: Re: [ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from
>> > command line to DB based
>> > 
>> > Hi (and apologies if the top posting is inappropriate),
>> > 
>> > Don't want to be a pest, but just pinging re: this series. What work
>> > remains? I want to try and close this out to do some additional
>> > vhostuser config work, so anything that might be gating this please let
>> > me know and I'll work on it.
>> > 
>> 
>> Please remember to add "vhost-sock-dir" to the database,
>> even if there will be used the default directory (no command line value).
>
> I'm nervous about adding unrestricted directory names to the database,
> because they could allow a remote database user to write to arbitrary
> places in the file system.

I see your point here. Is there a suggested mechanism to resolve this?
What if we had a scheme like:

ovs_rundir() + dboption

where we scrubbed dboption for '..' characters. Since I'm in this area
right now doing the change, I don't mind altering this scheme, but it
does slightly change the semantic of the option so I'd want to hear from
folks before making said scheme change.

Thanks,
-Aaron
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


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

2016-03-29 Thread Ben Pfaff
On Tue, Mar 29, 2016 at 12:08:50PM -0400, Aaron Conole wrote:
> Ben Pfaff  writes:
> 
> > On Tue, Mar 29, 2016 at 06:04:44AM +, Wojciechowicz, RobertX wrote:
> >> > -Original Message-
> >> > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Aaron
> >> > Conole
> >> > Sent: Monday, March 28, 2016 8:55 PM
> >> > To: dev@openvswitch.org
> >> > Cc: Flavio Leitner 
> >> > Subject: Re: [ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from
> >> > command line to DB based
> >> > 
> >> > Hi (and apologies if the top posting is inappropriate),
> >> > 
> >> > Don't want to be a pest, but just pinging re: this series. What work
> >> > remains? I want to try and close this out to do some additional
> >> > vhostuser config work, so anything that might be gating this please let
> >> > me know and I'll work on it.
> >> > 
> >> 
> >> Please remember to add "vhost-sock-dir" to the database,
> >> even if there will be used the default directory (no command line value).
> >
> > I'm nervous about adding unrestricted directory names to the database,
> > because they could allow a remote database user to write to arbitrary
> > places in the file system.
> 
> I see your point here. Is there a suggested mechanism to resolve this?
> What if we had a scheme like:
> 
> ovs_rundir() + dboption
> 
> where we scrubbed dboption for '..' characters. Since I'm in this area
> right now doing the change, I don't mind altering this scheme, but it
> does slightly change the semantic of the option so I'd want to hear from
> folks before making said scheme change.

That would make me happy; I can't speak for the others of course.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev