On Mon, Jul 1, 2024 at 1:58 AM Gurpreet Singh <gurps...@redhat.com> wrote: > > On Jun 28, 2024, at 11:56 AM, Ilya Maximets <i.maxim...@ovn.org> wrote: > > > > On 6/28/24 17:38, Dumitru Ceara wrote: > >> On 6/28/24 15:05, Ilya Maximets wrote: > >>> On 6/28/24 11:03, Ales Musil wrote: > >>>> Hi Frode, > >>>> > >>>> looking forward to the RFC. AFAIU it means that the routes would be > >>>> exposed on > >>>> LR, more specifically GW router. Would it make sense to allow this > >>>> behavior for > >>>> provider networks (LS with localnet port)? In that case we could > >>>> advertise > >>>> chassis-local information from logical routers attached to BGP-enabled > >>>> switches. E.g.: FIPs, LBs. It would cover the use case for distributed > >>>> routers. To achieve that we should have BGP peers for each chassis that > >>>> the LS > >>>> is local on. > >>> > >>> I haven't read the whole thing yet, but can we, please, stop adding > >>> routing features > >>> to switches? :) If someone wants routing, they should use a router, IMO. > >>> > >> > >> I'm fairly certain that there are precedents in "classic" network > >> appliances: switches that can do a certain amount of routing (even run > >> BGP). > >> > >> In this case we could add a logical router but I'm not sure that > >> simplifies things. > >> > > > > "classic" network appliances are a subject for restrictions of a physical > > material world. It's just way easier and cheaper to acquire and install > > a single physical box instead of N. This is not a problem for a virtual > > network. AP+router+switch+modem combo boxes are also "classic" last mile > > network appliances that we just call a "router". It doesn't mean we should > > implement one. > > > > The distinction between OVN logical routers and switches is there for a > > reason. That is so you can look at the logical topology and understand > > how it works more or less without diving into configuration of every single > > part of it. If switches do routing and routers do switching, what's the > > point of differentiation? It only brings more confusion.
I tend to agree with Ilya here, clarity for the operator as for what the system is actually doing becomes even more important when we are integrating with external systems (the ToRs). The operator would expect to be able to map configuration and status observed on one system to configuration and status observed in another system. Another issue is that I see no way for magically mapping a single localnet port into multiple chassis resident LRPs which would be required for configurations with multiple NICs that do not use bonds. Presumably the goal with your proposal is to find a low-touch way to make existing CMSs with overlay-based OVN configuration, such as OpenStack, work in the new topology. We're also interested in minimizing the development effort on the CMS side, so the tardy response to this thread is due to us spending a few days exploring options. I'll describe one approach that from observation mostly works below: With the outset of a classic OpenStack OVN configuration: * Single provider LS * Per project LSs with distributed LRs that have gateway chassis set and NAT rules configured * Instances scattered across three nodes We did the following steps to morph it into a configuration with per node gateway routers and local entry/exit of traffic to/from instances: * Apply Numan's overlay provider network patch [0] and set other_config:overlay_provider_network=true on provider LS * Remove the provider network localnet port * Create per chassis/NIC LS with localnet ports * Create per chassis GWR and attach it to NIC LS as well as provider network We have this handy script to do most of it [1]. With that we can have an outside observer sending traffic via external GWR IP destined to an instance FIP local to that chassis and have the traffic enter/exit locally. The part that does not work in this setup is correct identification of the return path due to the project LR having a single global default route, so it only works for a single chassis at a time. Perhaps we could solve this with a per chassis routing table and/or option for automatic addition of default route to peer GWR or something similar? 0: https://patchwork.ozlabs.org/project/ovn/patch/20240606214432.168750-1-num...@ovn.org/ 1: https://pastebin.ubuntu.com/p/RFGpsDggpp/ > If there is no or minimal overhead of adding an LR or restricting the routing > to LR, then perhaps keeping that logical separation makes sense. I think the > design we evaluate or look at has to focus very tightly on performance as any > non-trivial forwarding performance impact will affect the adoption of the > solution. Definitively. I think the performance impact of having actual LRs and LRPs visible in the configuration where the user expects them to be, as opposed to having the system magically generate them internally, would be negligible. -- Frode Nordahl > > Best regards, Ilya Maximets. > > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev