[ovs-dev] [RFC ovn PATCH 0/5] Separate pinctrl to its own process
Mark Michelson
mmichels at redhat.com
Mon Oct 21 18:24:43 UTC 2019
I realized that after my latest rebase, there are three tests that are
failing with this changeset:
IGMP snoop/querier/relay
ARP lookup before learning
vtep 3HVs, 1 VIFs/HV, 1 GW, 1 LS
They don't fail in master, so I know they're the fault of the branch.
With that in mind, I will fix these failures and post a v2 of this RFC.
Don't let that deter you from having a look at v1 though, since you
still can get a feel for what the change is proposing.
On 10/18/19 4:42 PM, Mark Michelson wrote:
> 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%)
>
More information about the dev
mailing list