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

[RFE] Support port MAC referring in OVS bridge

    • NetworkManager-1.48.4-1.el9
    • None
    • 1
    • rhel-sst-network-management
    • ssg_networking
    • 22
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • NMT - RHEL-9.5 DTM 18
    • Hide

      User story:

      As a network administrator, I want NetworkManager to recognize and match 802-3-ethernet.mac-address for system interfaces in an OVS bridge configuration, so that I can manage OVS bridge connections more effectively and ensure consistent network behavior across different interface configurations.

      Acceptance criteria:

      Given a system adminstrator configuring a system with NetworkManager, OVS installed, and a virtual Ethernet device eth1, 

      When they configure eth1 within an OVS bridge br0 using NetworkManager commands to utilize the MAC address for matching rather than the interface name,

      Then, eth1 should be successfully added to br0 and operate correctly.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Integration tests are written and pass 
      • The code is part of a downstream build attached to an errata
      • The changes are documented
      Show
      User story: As a network administrator, I want NetworkManager to recognize and match 802-3-ethernet.mac-address for system interfaces in an OVS bridge configuration, so that I can manage OVS bridge connections more effectively and ensure consistent network behavior across different interface configurations. Acceptance criteria: Given a system adminstrator configuring a system with NetworkManager, OVS installed, and a virtual Ethernet device eth1,  When they configure eth1 within an OVS bridge br0 using NetworkManager commands to utilize the MAC address for matching rather than the interface name, Then, eth1 should be successfully added to br0 and operate correctly. Definition of Done: The implementation meets the acceptance criteria Integration tests are written and pass  The code is part of a downstream build attached to an errata The changes are documented
    • Pass
    • None
    • None

      What were you trying to do that didn't work?

       

      NetworkManager allows `802-3-ethernet.mac-address` to match a interface instead of `connection.interface-name`. If works well for bond and linux bridge port, but not works for OVS bridge system interface.

      Please provide the package NVR for which bug is seen:

      NetworkManager-1.47.5-33226.copr.7faa351e4d.el9.x86_64

      How reproducible:

      100%

      Steps to reproduce

      ip link add eth1 type veth peer eth1-peer                                       
      ip link set eth1 address 00:23:45:67:89:1a                                      
      ip link set eth1 up                                                             
      nmcli device set eth1 managed true                                              
                                                                                         
      nmcli c add type ovs-bridge connection.id br0 ifname br0 \                         
          connection.autoconnect-ports true \                                            
          connection.autoconnect false                                                   
                                                                                      
      nmcli c add type ovs-port connection.id ovs-port-eth1 ifname ovs-port-eth1 \       
          connection.controller br0 connection.port-type ovs-bridge \                 
          connection.autoconnect-ports true \                                         
          connection.autoconnect false                                                
                                                                                      
      nmcli c add type ethernet connection.id eth1 \                                  
          802-3-ethernet.mac-address 00:23:45:67:89:1a \                                 
          connection.controller ovs-port-eth1 connection.port-type ovs-port \            
          connection.autoconnect false                                                   
                                                                                         
      nmcli c up br0                                                                     
      nmcli c up ovs-port-eth1                                                           
      nmcli c up eth1
      

      Expected results

       
      eth1 been assigned to OVS bridge br0 as system interface

      Actual results

      Apr 28 15:26:45 c9s NetworkManager[699]: <warn>  [1714289205.9513] device (ovs-port-eth1)[Open vSwitch Port]: device eth1 could not be added to a ovs port: Error running the transaction: referential integrity violation: Table Port column interfaces row 5181418f-61e1-45f4-9ea3-5fce4a903ed6 references nonexistent row 7b745ad8-a48d-4bb0-bc27-8370ba28b480 in table Interface.
      Apr 28 15:26:45 c9s NetworkManager[699]: <warn>  [1714289205.9514] device (eth1): Activation: failed for connection 'eth1'

              bgalvani@redhat.com Beniamino Galvani
              fge@redhat.com Gris Ge
              Network Management Team Network Management Team
              David Jaša David Jaša
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: