On 5/9/21 4:03 PM, Frode Nordahl wrote: > Introduce plugging module that adds and removes ports on the > integration bridge, as directed by Port_Binding options. > > Traditionally it has been the CMSs responsibility to create Virtual > Interfaces (VIFs) as part of instance (Container, Pod, Virtual > Machine etc.) life cycle, and subsequently manage plug/unplug > operations on the Open vSwitch integration bridge. > > With the advent of NICs connected to multiple distinct CPUs we can > have a topology where the instance runs on one host and Open > vSwitch and OVN runs on a different host, the smartnic CPU. > > The act of plugging and unplugging the representor port in Open > vSwitch running on the smartnic host CPU would be the same for > every smartnic variant (thanks to the devlink-port[0][1] > infrastructure) and every CMS (Kubernetes, LXD, OpenStack, etc.). > As such it is natural to extend OVN to provide this common > functionality through its CMS facing API.
Hi, Frode. Thanks for putting this together, but it doesn't look natural to me. OVN, AFAIK, never touched physical devices or interacted with the kernel directly. This change introduces completely new functionality inside OVN. With the same effect we can run a fully separate service on these smartnic CPUs that will do plugging and configuration job for CMS. You may even make it independent from a particular CMS by creating a REST API for it or whatever. This will additionally allow using same service for non-OVN setups. Interactions with physical devices also makes OVN linux-dependent at least for this use case, IIUC. Maybe, others has different opinions. Another though is that there is, obviously, a network connection between the host and smartnic system. Maybe it's possible to just add an extra remote to the local ovsdb-server so CMS daemon on the host system could just add interfaces over the network connection? Best regards, Ilya Maximets. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev