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 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev