[ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from command line to DB based
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
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
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
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
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
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
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