Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-59967

disableMP set to true in BGPPeer resource YAML is not effective, it set to false in the generated frrconfiguration

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.20.0
    • Networking / Metal LB
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 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:

          

              fpaoline@redhat.com Federico Paolinelli
              rhn-support-asood Arti Sood
              None
              None
              Arti Sood Arti Sood
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: