On 7/9/26 10:18 PM, Mark Michelson wrote: > Hi, Dumitru, thanks for the proposal! > > On Thu, Jul 9, 2026 at 8:04 AM Dumitru Ceara <[email protected]> wrote: >> >> Hi all, >> >> The currently established terminology we use in OVN for various types of >> routers and router ports is: >> >> - gateway routers >> - distributed routers >> - these can optionally have "distributed gateway ports" (DGP) >> >> Our architecture docs describe them to some extent: >> https://github.com/ovn-org/ovn/blob/main/ovn-architecture.7.xml#L619-L752 >> >> However, while established contributors/users might be used to the >> terminology and how the different types of routers/ports behave in >> practice, the naming is in my opinion extremely confusing. >> >> Let's start with the "Gateway Router": >> >> At a first glance one might think that this is the only type of router >> that can be used as a gateway out of the cluster. That's not true, we >> also can use DGPs (I'll go to those later). I didn't check but I assume >> the naming was chosen back when the implementation for such routers was >> added and it was the only way to implement OVN gateways. But that's not >> necessarily true anymore. >> >> The way they work is through a NB database >> logical_router.options:chassis configuration which specifies on which >> chassis the router is "bound". That means the router's logical pipeline >> only gets executed on that chassis. Whenever traffic that's being >> processed on a different hypervisor needs to logically enter the >> "gateway router's" pipeline, the traffic will be tunneled towards the >> chassis the router is bound to. >> >> Then the DGP, "distributed gateway port": >> >> At a first glance one might think that the port (and corresponding >> router pipeline) implementation is somehow distributed across multiple >> OVN hypervisors. > > I think the reason is that "distributed gateway port" is a confusing > shortening of "distributed [router's] gateway port" or "gateway port > on a distributed router". In other words, the port itself is not > distributed, but the router is. > >> >> That's definitely not true, it's actually the opposite. This is a >> router port that's part of a distributed router with the restriction >> that traffic that needs to be logically forwarded out that port and >> traffic that is received on that port will be first tunneled to the >> chassis the DGP is "bound" to. Binding the DGP to a chassis happens >> either by configuring a NB.Gateway_Chassis or a NB.Ha_Chassis_Group (for >> HA) for that port. >> >> Then there's the "gateway" part of the DGP name. I didn't check the >> history closely but I assume this is something that was chosen just >> because processing traffic on that router port is very similar to the >> "Gateway Router" case. >> >> Moreover, we know we have users that configure DGPs that are not really >> gateways out of the cluster. >> >> For example, ovn-kubernetes configures uses a distributed "cluster >> router" (in ovn-kubernetes terminology) whose main purpose is to connect >> per-node logical switches together. The router ports attached to those >> switches are all configured as DGPs for the sole purpose of reducing the >> amount of local datapaths ovn-controllers on each node need to create >> OpenFlow rules for. In the ovn-kubernetes case, there are actually >> dedicated "gateway routers", one per node, that are used as real >> gateways out of the OVN cluster. >> >> This brings me to the proposal part.. >> >> Would it make sense to update the terminology across the OVN tree's >> documentation (and code) and stop using "gateway router" and >> "distributed gateway port"? > > YES!! As you have pointed out, there is much confusion about the term, > and it's not just gatewaying that such ports have use for. > >> >> We could instead use (and encourage our users to do the same) more >> explicit alternatives based on the real behavior of the router/router ports. >> >> One that comes to mind is: >> - "pinned" router/router-port >> >> Alternatives could be: >> - "chassis-specific" router/router-port >> - "chassis-local" router/router-port >> >> Looking forward to hearing opinions from the community! > > I would steer clear of any options that use the word "local" since we > already have terminology like "localnet" and "localport". There's also > the issue of local vs. remote ports when talking about ovn-ic setups. > Therefore, I think "local" is overloaded and doesn't need to be > expanded further. > > I think "chassis-specific" gets the point across better than "pinned", > but "chassis-specific" is also more of a mouthful than "pinned". I > would be happy if either of these were chosen. > > Another option might be to use the word "bind/bound" for these > options, since we already use this term for other types of ports. In > my view, binding a VIF logical switch port to a chassis is not really > any different than binding a logical router port or logical router to > a specific chassis. The method is different, but the result is the > same. That's another option to consider. >
I agree, it's probably better than "pinned", so: - "bound router" - "bound router-port" Right? OTOH the acronym would potentially become confusing. /o\ BR BRP >> >> Thank you, >> Dumitru >> > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
