On Fri, Sep 3, 2021 at 12:27 PM Frode Nordahl <frode.nord...@canonical.com> wrote: > > Add the first in-tree plug provider plugin and its dependencies. > The representor plugin can be used with multiple NIC vendors > supporting Open vSwitch hardware offload and the devlink-port > infrastructure[0]. > > It is particularly useful for use with NICs connected to multiple > distinct CPUs where the instance runs on one host and Open > vSwitch and OVN runs on a different host, the smartnic CPU. > > Extend the build system with macros from the OVS build system to > allow checking for dependencies of the plugin as well as providing > kernel header files that may not be available at build time. > > The plugin will only be built when enabled and when building on > a Linux system. > > 0: https://www.kernel.org/doc/html/latest/networking/devlink/devlink-port.html > Signed-off-by: Frode Nordahl <frode.nord...@canonical.com> > --- > Documentation/automake.mk | 1 + > Documentation/topics/plug_providers/index.rst | 1 + > .../topics/plug_providers/plug-providers.rst | 5 + > .../plug_providers/plug-representor.rst | 45 ++ > build-aux/initial-tab-whitelist | 1 + > configure.ac | 2 + > include/automake.mk | 4 + > include/linux/automake.mk | 2 + > include/linux/devlink.h | 625 ++++++++++++++++++ > lib/automake.mk | 11 + > lib/plug-provider.h | 6 +- > lib/plug.c | 1 + > .../representor/netlink-devlink.c | 499 ++++++++++++++ > .../representor/netlink-devlink.h | 115 ++++ > .../representor/plug-representor.c | 307 +++++++++ > m4/ovn.m4 | 26 + > 16 files changed, 1650 insertions(+), 1 deletion(-) > create mode 100644 Documentation/topics/plug_providers/plug-representor.rst > create mode 100644 include/linux/automake.mk > create mode 100644 include/linux/devlink.h > create mode 100644 lib/plug_providers/representor/netlink-devlink.c > create mode 100644 lib/plug_providers/representor/netlink-devlink.h > create mode 100644 lib/plug_providers/representor/plug-representor.c >
Hi Frode, Thanks for adding this to the series. This does provide a better understanding of how the plug_provider interfaces are going to be used for representor ports. However, I had no idea how complex this provider would be when I proposed adding it to the repo. Now that I am seeing it, I am not sure if it is a good idea. It is probably better to maintain this provider under a separate project, primarily because of totally different focus and dependencies. For an in-tree provider, I'd consider something that plugs regular VIFs. I'd also like to hear what other maintainers think. I am sorry for not realizing this earlier, and if we finally decide to exclude this single patch from the series, I hope this doesn't waste too much of your effort, assuming the majority of the code would be the same when it is hosted under a separate repo. Thanks, Han _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev