Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-153297

[RFE] Support `allow-extra-ports` in Linux bridge

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • nmstate
    • None
    • None
    • Moderate
    • rhel-net-mgmt
    • 2
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Hide

      Definition of Done:

      Please mark each item below with ( / ) if completed or ( x ) if incomplete:

      ( ) The acceptance criteria defined below are met.

      Given a Linux bridge interface configured via NNCP with allow-extra-ports: true in the bridge options,
      When a third-party tool (such as a CNI plugin) attaches additional ports to that bridge after nmstate has applied the configuration, Then nmstate verification succeeds and the NNCP remains in the Configured state rather than transitioning to Degraded/FailedToConfigure.


      ( ) Integration test case is available upstream.


      ( ) Code is reviewed and merged upstream.


      ( ) Preliminary testing is done.


      ( ) Upstream documentation is written in the upstream MR.


      ( ) Release notes text is written in the RHEL issue.


      ( ) A demo is recorded

      Show
      Definition of Done: Please mark each item below with ( / ) if completed or ( x ) if incomplete: ( ) The acceptance criteria defined below are met. Given a Linux bridge interface configured via NNCP with allow-extra-ports: true in the bridge options, When a third-party tool (such as a CNI plugin) attaches additional ports to that bridge after nmstate has applied the configuration, Then nmstate verification succeeds and the NNCP remains in the Configured state rather than transitioning to Degraded/FailedToConfigure. ( ) Integration test case is available upstream. ( ) Code is reviewed and merged upstream. ( ) Preliminary testing is done. ( ) Upstream documentation is written in the upstream MR. ( ) Release notes text is written in the RHEL issue. ( ) A demo is recorded
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      Description of problem:

         Linux bridge was configured by nmstate to be used by cnv-bridge cni for vms. After configuration ports were added to bridge by cni, some event triggered nmstate to reconfigure/validate configuration and now it is in degraded/FailedToConfigure state due to extra ports. 

      Version-Release number of selected component (if applicable):

          4.18

      How reproducible:

      Unknown     

      Steps to Reproduce:

          1. Create a linux bridge with nmstate with nncp 
      
      spec:
        desiredState:
          interfaces:
          - mtu: 9000
            name: bond0.33
            state: up
            type: vlan
            vlan:
              base-iface: bond0
              id: 33
          - bridge:
              options:
                stp:
                  enabled: false
              port:
              - name: bond0.33
                vlan: {}
            description: Linux bridge with bond0 as a port on vlan 33
            mtu: 9000
            name: br0.33
            state: up
            type: linux-bridge
      
          2. create a net-attach-def for br0.33 
      
      spec:
        config: |
          {
            "cniVersion": "0.3.1",
            "name": "vlan-33",
            "type": "cnv-bridge",
            "bridge": "br0.33",
            "macspoofchk": true
          }
      
      
          3. After nmstate configures bridge, have cni add ports 
          4. Wait for an event that triggers nmstate to re-validate or re-configure (Not sure what triggers this nmstate to reconfigure/re-validate )
      
          

      Actual results:

        NNCP  vlan-33-bridge       Degraded      FailedToConfigure
        NNCE  Failing
      
      Logs:       [2026-02-17T15:56:54Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: br0.33.interface.bridge.port desire '[{"name":"bond0.33","vlan":{}}]', current '[{"name":"bond0.33","stp-hairpin-mode":false,"stp-path-cost":100,"stp-priority":32,"vlan":{}},{"name":"veth8abc333d","stp-hairpin-mode":false,"stp-path-cost":2,"stp-priority":32,"vlan":{}}]'
      
      
      
      

       

      Expected results:

          For nmstate to not fail as its already configured bridge and allow CNI is adding ports. 

      Additional info:

      Allow linux bridges to use something similar to what can be configured for ovs bridges (allow-extra-patch-ports: true) 

              nm-team Network Management Team
              rhn-support-rhowe Ryan Howe
              Network Management Team Network Management Team
              Ross Brattain Ross Brattain
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: