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

nmcli device reapply is adding back default vlan as PVID

    • NetworkManager-1.45.91-1.el9
    • None
    • Critical
    • ZStream
    • 1
    • rhel-sst-network-management
    • ssg_networking
    • 26
    • 1
    • Hide

       

      Customer/Partner Jira ID Customer Case Status Details
      Sri Lanka Telecom PLC RHEL-21576 03707454  [2024-01-23] initially, appeared to be solvable using a configuration change but might require a code change, investigation in progress
       [2024-01-25] The proposed workaround in this solution article does not seem to work for the customer. There might be additional factors or specific configurations at play, support engineer are clarifying this. In the meantime, investigation is still ongoing. 
      [2024-01-30] unable to reproduce why configuration change does not work (both us and support engineers), support is checking with customer to get better understanding. Possible logic/code changes unclear due to complex interactions between kernel defaults, and mixing managed and unmanaged devices with NM. Investigation continues.
      [2024-02-05] A MR has been submitted upstream to address the issue. The patch ensures NetworkManager does not reset VLAN filtering settings unless there is a change in the VLAN configuration and therefore preserve user-defined VLAN settings during reapply actions.

       

      Show
        Customer/Partner Jira ID Customer Case Status Details Sri Lanka Telecom PLC RHEL-21576 03707454   [2024-01-23] initially, appeared to be solvable using a configuration change but might require a code change, investigation in progress   [2024-01-25] The proposed workaround in this solution article does not seem to work for the customer. There might be additional factors or specific configurations at play, support engineer are clarifying this. In the meantime, investigation is still ongoing.  [2024-01-30] unable to reproduce why configuration change does not work (both us and support engineers), support is checking with customer to get better understanding. Possible logic/code changes unclear due to complex interactions between kernel defaults, and mixing managed and unmanaged devices with NM. Investigation continues. [2024-02-05] A MR has been submitted upstream to address the issue. The patch ensures NetworkManager does not reset VLAN filtering settings unless there is a change in the VLAN configuration and therefore preserve user-defined VLAN settings during reapply actions.  
    • False
    • Hide

      None

      Show
      None
    • None
    • NMT - RHEL 8.10/9.4 DTM 24
    • Approved Blocker
    • Hide

      Given a system administrator configuring a bridge `br1` on a system with NetworkManager, 
      When they add VLAN 100 as the PVID and set it as egress untagged to the device `vethc2a532c4`, 

      Then, NetworkManager should preserve the user-specified VLAN configuration. The output should still show VLAN 100 set as PVID and egress untagged for `vethc2a532c4`.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Unit test and integration test are written and pass
      • The fix is part of a downstream build attached to an errata
      • The fix is backported to rhel-9.2.0.z
      Show
      Given a system administrator configuring a bridge `br1` on a system with NetworkManager,  When they add VLAN 100 as the PVID and set it as egress untagged to the device `vethc2a532c4`,  Then, NetworkManager should preserve the user-specified VLAN configuration. The output should still show VLAN 100 set as PVID and egress untagged for `vethc2a532c4` . Definition of Done : The implementation meets the acceptance criteria Unit test and integration test are written and pass The fix is part of a downstream build attached to an errata The fix is backported to rhel-9.2.0.z
    • Pass
    • None
    • x86_64
    • None

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

      The bridge CNI have an  option to disable  default VLAN option using preserveDefaultVlan. So it will not have the default VLAN ID for these interfaces created with preserveDefaultVlan: false :

      # bridge -d vlan show
      port              vlan-id
      enp1s0            1 PVID Egress Untagged
                          state forwarding mcast_router 1
                        2-4094
                          state forwarding mcast_router 1
      br1               1 PVID Egress Untagged
                          state forwarding mcast_router 1
      vethd18fb08a      100 PVID Egress Untagged            <==
                          state forwarding mcast_router 1
      vethc2a532c4      100 PVID Egress Untagged            <==
                          state forwarding mcast_router 1
      

      However while doing the reapply, Network Manager is replacing the user mentioned PVID with 1:

       

      # nmcli device reapply br1
      Connection successfully reapplied to device 'br1'.
      # bridge -d vlan show
      port              vlan-id
      enp1s0            1 PVID Egress Untagged
                          state forwarding mcast_router 1
                        2-4094
                          state forwarding mcast_router 1
      br1               1 PVID Egress Untagged
                          state forwarding mcast_router 1
      vethd18fb08a      1 PVID Egress Untagged                 <===
                          state forwarding mcast_router 1
                        100 Egress Untagged
                          state forwarding mcast_router 1
      vethc2a532c4      1 PVID Egress Untagged                <===
                          state forwarding mcast_router 1
                        100 Egress Untagged
                          state forwarding mcast_router 1
       
      

      Since the traffic from the Pod will be untagged and the tagging will be done at the bridge level, this disconnects the POD from the network since the untagged frames will be tagged with 1 instead of 100.

      Please provide the package NVR for which bug is seen:

      NetworkManager-1.42.2-8.el9_2.x86_64

      How reproducible:

      100%

      Steps to reproduce

      1. Add the VLAN:

       

      # bridge vlan add vid 100 pvid egress untagged dev vethc2a532c4
      # bridge vlan show br1 |grep -A 3 vethc2a532c4
      vethc2a532c4      100 PVID Egress Untagged

       

      2.  Do nm reaply and check the vlan assignment again:

      # nmcli device reapply br1
      Connection successfully reapplied to device 'br1'.
      # bridge vlan show br1 |grep -A 3 vethc2a532c4
      vethc2a532c4      1 PVID Egress Untagged
                        100 Egress Untagged

      Expected results

      device-reapply is adding back default vlan as PVID

      Actual results

      It should preserve the user mentioned configuration.

       

              rhn-engineering-vbenes Vladimir Benes
              rhn-support-nashok Nijin Ashok
              Gris Ge Gris Ge
              Vladimir Benes Vladimir Benes
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

                Created:
                Updated:
                Resolved: