-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.19.z, 4.20
-
Quality / Stability / Reliability
-
False
-
-
None
-
Moderate
-
None
-
None
-
None
-
Rejected
-
CORENET Sprint 278
-
1
-
None
-
None
-
None
-
None
-
None
-
None
-
None
OVN-Kubernetes RouteAdvertisements feature does not support dual stack BGP sessions:
// If MultiProtocol is enabled (default) then a BGP session carries // prefixes of both IPv4 and IPv6 families. Our problem is that with // an IPv4 session, FRR can incorrectly pick the masquerade IPv6 // address (instead of the real address) as next hop for IPv6 // prefixes and that won't work. Note that with a dedicated IPv6 // session that can't happen since FRR will use the same address // that was used to stablish the session. Let's enforce the use of // DisableMP for now. if !neighbor.DisableMP { return nil, fmt.Errorf("%w: DisableMP==false not supported, seen on FRRConfiguration %s/%s neighbor %s", errConfig, source.Namespace, source.Name, neighbor.Address, ) }
However it has been acknowledged by FRR-k8s project that defaulting to dualstack BGP sessions through DisableMP=false was mistake and DisableMP has been deprecated and replaced with dualStackAddressFamily that defaults to false and thus dualstack BGP sessions are disabled by default.
Through this bug we should:
For OCP 4.20+:
- Replace the check for DisableMP=false in favor of checking for dualStackAddressFamily=true
- Explicitly document the incompatibility of using RouteAdvertisements together with FRRConfiguration or BGPPeers that set dualStackAddressFamily=true
For OCP 4.19: - Explicitly document the incompatibility of using RouteAdvertisements together with FRRConfiguration or BGPPeers that set DisableMP=false or omit setting DisableMP , or what is equivalent, that do not set DisableMP=true