[ovs-dev] [RFC v2 0/2] dpdk: minor refactor of the initialization step

Aaron Conole aconole at redhat.com
Wed Apr 18 18:30:21 UTC 2018

Sometimes, DPDK initialization can fail, but ovs-vswitchd will abort in
that case.  When that occurs, ovs-vswitchd will be restarted by the
monitor and immediately abort.  This is rather unfriendly to users, who
would prefer to possibly correct the issue or at least, not have lots of
processes continually spawning.

This series accepts that rte_eal_init() can and does fail for real.  It
reflects the initialization status in the database, as well as adding
the DPDK version (where appropriate).  In the case the user wants this
new behavior, they would set dpdk-init to 'try' rather than the current
setting of 'true'.

Submitted as RFC to spawn discussion around the type to reflect for
the initialized information.  Presented here as a boolean - however,
it might be more interesting to be a 'string' and have more elaborate
details (ex: 'failed - ovs_strerror(rte_errno)' or 'uninitialized' or

 - changed to allow dpdk-init to be set to 'try'

Aaron Conole (2):
  dpdk: allow init to fail
  dpdk: reflect status and version in the database

 Documentation/faq/configuration.rst  |  8 +++++---
 Documentation/intro/install/dpdk.rst | 27 ++++++++++++++++++++++---
 lib/dpdk-stub.c                      | 10 +++++++++
 lib/dpdk.c                           | 39 +++++++++++++++++++++++++++++-------
 lib/dpdk.h                           |  3 ++-
 vswitchd/bridge.c                    |  5 +++++
 vswitchd/vswitch.ovsschema           | 11 +++++++---
 vswitchd/vswitch.xml                 | 11 ++++++++++
 8 files changed, 97 insertions(+), 17 deletions(-)


More information about the dev mailing list