[ovs-dev] [RFC ovn PATCH 0/5] Separate pinctrl to its own process

Mark Michelson mmichels at redhat.com
Fri Oct 18 20:42:54 UTC 2019


This proposes a set of patches to move pinctrl operations out of the
ovn-controller process and into its own.

The main reasons for doing this are the following:
1) Separating pinctrl makes it so that receiving a packet-in can't wake
up ovn-controller.
2) Separating pinctrl allows for manipulating the southbound database
directly while handling packets in, thus minimizing the need for storing
local copies of data
3) This lays the groundwork for an easier eventual conversion of
ovn-controller to DDlog, since the DDlog code would need to only handle
flow creation, not packet in handling.

This is an RFC. With this set of changes, item (2) above is not well
addressed here. While the multithreading is removed from pinctrl, the
structural components have not been altered. Were this idea to be
approved, point (2) would be addressed when creating the final patch.

Please share your thoughts.

Mark Michelson (5):
  Separate pinctrl to its own process.
  Resolve duplicate functions in ovn-controller and ovn-pinctrl.
  Remove multithreading from pinctrl.
  Move ovn-pinctrl to its own directory.
  Flesh out manpage with more details about ovn-pinctrl

 Makefile.am                       |   1 +
 controller/automake.mk            |   3 +-
 controller/binding.c              |  22 +-
 controller/binding.h              |   3 +-
 controller/controller-utils.c     | 220 +++++++++++
 controller/ovn-controller.c       | 233 +-----------
 controller/ovn-controller.h       |  20 +
 pinctrl/automake.mk               |  25 ++
 pinctrl/ovn-pinctrl.8.xml         | 110 ++++++
 pinctrl/ovn-pinctrl.c             | 413 +++++++++++++++++++++
 {controller => pinctrl}/pinctrl.c | 748 ++++++++++----------------------------
 {controller => pinctrl}/pinctrl.h |   0
 tests/automake.mk                 |   2 +-
 tests/ofproto-macros.at           |   3 +
 tests/ovn.at                      |  13 +-
 tutorial/ovs-sandbox              |   5 +
 utilities/ovn-ctl                 |  40 ++
 17 files changed, 1064 insertions(+), 797 deletions(-)
 create mode 100644 controller/controller-utils.c
 create mode 100644 pinctrl/automake.mk
 create mode 100644 pinctrl/ovn-pinctrl.8.xml
 create mode 100644 pinctrl/ovn-pinctrl.c
 rename {controller => pinctrl}/pinctrl.c (84%)
 rename {controller => pinctrl}/pinctrl.h (100%)

-- 
2.14.5



More information about the dev mailing list