-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
-
rhel-9
-
None
-
rhel-net-ovn
-
-
This is tracking the upstream effort needed to deliver the feature request described below.
What's the feature?
If a router/switch has dynamic-routing=true (existing option) and (new option) dynamic-routing-advertise-per-object=true (default=false) then:
FOR logical routers with dynamic-routing-advertise set:
- if dynamic-routing-redistribute ~ connected-as-host
- advertise LSP IPs if LSP.option.dynamic-routing-advertise=true
- advertise LRP IPs if LRP.option.dynamic-routing-advertise=true
- if dynamic-routing-redistribute ~ nat/lb
- advertise NAT/LB IPs if NAT/LB.option.dynamic-routing-advertise=true
- if dynamic-routing-redistribute ~ static
- advertise static route prefix if Static_Route.option.dynamic-routing-advertise=true
FOR EVPN logical switches with dynamic-routing-advertise set:
- if dynamic-routing-redistribute ~ fdb/ip
- advertise LSP IPs/MAC if LSP.option.dynamic-routing-advertise=true
Why is it needed?
Today, if dynamic-routing-redistribute=connected-as-host/lb/nat/static/fdb/ip is set for a logical router (port) then OVN indiscriminately advertises the IPs (or prefixes) of all the matching records (NATs, LB VIPs, LSP IPs/MACs, LRP IPs/MACs, static route prefixes).
However, some CMS might want more granularity and selectively configure which of the records should be advertised. For example, if dynamic-routing-redistribute=nat and the logical router has three NAT entries defined:
- NAT1-public-IP -> NAT1-logical-IP
- NAT2-public-IP -> NAT2-logical-IP
- NAT3-public-IP -> NAT3-logical-IP
The CMS might want to only advertise NAT1-public-IP and NAT3-public-IP. Without an explicit, per NAT option, this wouldn't be possible.
As we don't want to change the current default behavior, this feature needs to be opt-in, globally enabled per router through the new LR.options:dynamic-routing-advertise-per-object=true|false (default false) option.
Who will benefit?
ovn-kubernetes transitioning to use OVN's native BGP support. Potentially neutron-ovn too.