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

[RHEL-10] lost connection immediately after attached new nic which has smaller route metric detected

    • None
    • Moderate
    • rhel-sst-network-management
    • ssg_networking
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • Hide

      Given a system with NetworkManager managing multiple network interfaces where eth0 is initially the primary interface with the highest route metric, 

      When a new network interface is dynamically added to the system with a smaller route metric than the existing primary interface (eth0),

      Then, the system should maintain the existing network connection via eth0 as the primary interface without losing connectivity.

      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
      Show
      Given a system with NetworkManager managing multiple network interfaces where eth0 is initially the primary interface with the highest route metric,  When a new network interface is dynamically added to the system with a smaller route metric than the existing primary interface (eth0), Then, the system should maintain the existing network connection via eth0 as the primary interface without losing connectivity. 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
    • None
    • None
    • All
    • None

      What were you trying to do that didn't work?
      The first nic(eth0) has a larger route metric than the new attached, so the previous network connection is lost immediately.
      In RHEL-9, eth0 is the preferred with metric 100, the new attached nic has 100+ assigned.
      Below is RHEL-10 result:

      
      # ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 06:5a:d3:11:23:7f brd ff:ff:ff:ff:ff:ff
          altname enp0s5
          altname ens5
          inet 10.22.1.243/24 brd 10.22.1.255 scope global dynamic eth0
             valid_lft 1472sec preferred_lft 1022sec
          inet6 fe80::45a:d3ff:fe11:237f/64 scope link proto kernel_ll 
             valid_lft forever preferred_lft forever
      4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
          link/ether 06:71:d4:3e:c5:e3 brd ff:ff:ff:ff:ff:ff
          altname enp0s6
          altname ens6
          inet 10.22.1.178/24 brd 10.22.1.255 scope global dynamic eth1
             valid_lft 2380sec preferred_lft 2380sec
          inet6 2600:1f14:bb6:bc01:c049:51a:dd60:8f9f/128 scope global dynamic noprefixroute 
             valid_lft 393sec preferred_lft 83sec
          inet6 fe80::471:d4ff:fe3e:c5e3/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      5: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
          link/ether 06:13:89:71:34:83 brd ff:ff:ff:ff:ff:ff
          altname enp0s7
          altname ens7
          inet 10.22.1.169/24 brd 10.22.1.255 scope global dynamic eth2
             valid_lft 3592sec preferred_lft 3592sec
          inet6 2600:1f14:bb6:bc01:c6c1:80a:761f:f576/128 scope global dynamic noprefixroute 
             valid_lft 444sec preferred_lft 134sec
          inet6 fe80::413:89ff:fe71:3483/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      # ip route
      default via 10.22.1.1 dev eth1 proto dhcp src 10.22.1.178 metric 101 
      default via 10.22.1.1 dev eth2 proto dhcp src 10.22.1.169 metric 102 
      default via 10.22.1.1 dev eth0 proto dhcp src 10.22.1.243 metric 1002 mtu 9001 
      10.22.1.0/24 dev eth1 proto kernel scope link src 10.22.1.178 metric 101 
      10.22.1.0/24 dev eth2 proto kernel scope link src 10.22.1.169 metric 102 
      10.22.1.0/24 dev eth0 proto dhcp scope link src 10.22.1.243 metric 1002 mtu 9001 
      

      Below is RHEL-9.4 result:

      # ip route
      default via 10.22.1.1 dev eth0 proto dhcp src 10.22.1.150 metric 100 
      default via 10.22.1.1 dev eth1 proto dhcp src 10.22.1.202 metric 101 
      10.22.1.0/24 dev eth0 proto kernel scope link src 10.22.1.150 metric 100 
      10.22.1.0/24 dev eth1 proto kernel scope link src 10.22.1.202 metric 101 
      

      Please provide the package NVR for which bug is seen:
      6.9.0-0.rc2.1.el10.aarch64
      NetworkManager-1.47.5-1.el10.2.aarch64
      dhcp-common-4.4.3-13.P1.el10.noarch
      dhcp-client-4.4.3-13.P1.el10.aarch64
      dhcpcd-10.0.6-3.el10.aarch64

      How reproducible:
      100%

      Steps to reproduce

      • launch t4g.large instance on aws
      • attach a new nic after system boot up

      Expected results
      eth0 is the prefered in route table

      Actual results
      lost connection to eth0 immediately.

              rh-ee-sfaye Stanislas Faye
              xiliang@redhat.com Frank Liang
              Network Management Team Network Management Team
              Vladimir Benes Vladimir Benes
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated: