-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.20.0
-
None
-
Quality / Stability / Reliability
-
False
-
-
None
-
None
-
None
-
None
-
None
-
None
-
Done
-
Release Note Not Required
-
N/A
-
None
-
None
-
None
-
None
Description of problem:
Creating a BGPPeer with disableMP:true does not work, the value is set to true in BGPPeer resource but set to false in frrconfiguration. This causes RouteAdvertisement created for advertising pods networks in OVNK to be erroneous state. Though user is warned during creation of BGPPeer resource about it being deprecated. Warning: disable mp is deprecated and has no effect since it's the default behavior now
Version-Release number of selected component (if applicable):
4.20
How reproducible:
Always
Steps to Reproduce:
1. Set up OVNK BGP route advertisement to advertise routes apiVersion: k8s.ovn.org/v1 kind: RouteAdvertisements metadata: name: default spec: advertisements: - PodNetwork frrConfigurationSelector: {} networkSelectors: - networkSelectionType: DefaultNetwork nodeSelector: {} 2. Install metallb operator, create metallb resource, set up FRR router and create BGPPeer apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata: name: peer-64500 namespace: metallb-system spec: disableMP: true holdTime: 10s myASN: 64512 peerASN: 64500 peerAddress: 192.168.111.60 oc create -f ~/Documents/scalelab-yaml/singlehop-RDU/peer-64500-64512.yaml Warning: disable mp is deprecated and has no effect since it's the default behavior now bgppeer.metallb.io/peer-64500 created
Actual results:
The BGPPeer resource is created with warning with value set to true but set to false in frrconfiguration and RouteAdvertisement ends up being non functional in Not Accepted state. oc get ra NAME STATUS default Not Accepted: configuration error: DisableMP==false not supported, seen on FRRConfiguration openshift-frr-k8s/metallb-worker-2 neighbor 192.168.111.60 apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata: name: peer-64500 namespace: metallb-system spec: disableMP: true holdTime: 10s myASN: 64512 peerASN: 64500 peerAddress: 192.168.111.60 oc -n openshift-frr-k8s get frrconfigurations.frrk8s.metallb.io metallb-worker-0 -oyaml apiVersion: frrk8s.metallb.io/v1beta1 kind: FRRConfiguration metadata: creationTimestamp: "2025-07-30T14:05:58Z" generation: 1 name: metallb-worker-0 namespace: openshift-frr-k8s resourceVersion: "535396" uid: 88289ce5-ac18-486b-9980-9121a79d89db spec: bgp: routers: - asn: 64512 neighbors: - address: 192.168.111.60 asn: 64500 disableMP: false dualStackAddressFamily: false holdTime: 10s keepaliveTime: 3.333333333s passwordSecret: {} port: 179 toAdvertise: allowed: mode: filtered prefixes: - 10.10.10.1/32 - 10.10.10.2/32 - 10.10.10.3/32 withCommunity: - community: 65001:65500 prefixes: - 10.10.10.1/32 - 10.10.10.2/32 - 10.10.10.3/32 toReceive: allowed: mode: filtered prefixes: - 10.10.10.1/32 - 10.10.10.2/32 - 10.10.10.3/32 nodeSelector: matchLabels: kubernetes.io/hostname: worker-0 raw: {}
Expected results:
The value to be set to true in frrconfiguration so that routeadvertisement resource is functional.
Additional info: