69c605 rd.route should use the name from kdump_setup_ifname

Authored and Committed by Coiby Xu 3 years ago
    rd.route should use the name from kdump_setup_ifname
    
    Resolves: bz1950932
    Upstream: Fedora
    Conflict: None
    
    commit 8a33ffffbcaab4d1baabed889c2a063649dcbab8
    Author: Coiby Xu <coxu@redhat.com>
    Date:   Thu May 6 09:20:27 2021 +0800
    
        rd.route should use the name from kdump_setup_ifname
    
        This fixes bz1854037 which happens because kexec-tools generates rd.route for
        eth0 instead of for kdump-eth0,
         1. "rd.route=168.63.129.16:10.0.0.1:eth0 rd.route=169.254.169.254:10.0.0.1:eth0" is passed to the dracut cmdline by kexec-tools
         2. In the 2rd kernel, dracut/modules.d/35network-manager/nm-config.sh calls
            /usr/libexec/nm-initrd-generator to generate two .nmconnection files
            based on the dracut cmdline, i.e. kdump-eth0.nmconnection and eth0.nmconnection,
            - /run/NetworkManager/system-connections/kdump-eth0.nmconnection
                [connection]
                id=kdump-eth0
                uuid=3ef53b1b-3908-437e-a15f-cf1f3ea2678b
                type=ethernet
                autoconnect-retries=1
                interface-name=kdump-eth0
                multi-connect=1
                permissions=
                wait-device-timeout=60000
                [ethernet]
                mac-address-blacklist=
                [ipv4]
                address1=10.0.0.4/24,10.0.0.1
                dhcp-timeout=90
                dns=168.63.129.16;
                dns-search=
                may-fail=false
                method=manual
                [ipv6]
                addr-gen-mode=eui64
                dhcp-timeout=90
                dns-search=
                method=disabled
                [proxy]
    
            - /run/NetworkManager/system-connections/eth0.nmconnection
                [connection]
                id=eth0
                uuid=f224dc22-2891-4d7b-8f66-745029df4b53
                type=ethernet
                autoconnect-retries=1
                interface-name=eth0
                multi-connect=1
                permissions=
                [ethernet]
                mac-address-blacklist=
                [ipv4]
                dhcp-timeout=90
                dns=168.63.129.16;
                dns-search=
                method=auto
                route1=168.63.129.16/32,10.0.0.1
                route2=169.254.169.254/32,10.0.0.1
                [ipv6]
                addr-gen-mode=eui64
                dhcp-timeout=90
                dns-search=
                method=auto
                [proxy]
    
         3. Since there's eth0.nmconnection, NetworkManager will try to get an IP for eth0 regardless of the fact it's a slave NIC and time out
            ```
            $ ip link show
            2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
               link/ether 00:0d:3a:11:86:8b brd ff:ff:ff:ff:ff:ff
            3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master kdump-eth0 state UP mode DEFAULT group default qlen 1000
            ```
    
        Reported-by: Huijing Hei <hhei@redhat.com>
        Signed-off-by: Coiby Xu <coxu@redhat.com>
        Acked-by: Kairui Song <kasong@redhat.com>
    
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    
        
file modified
+7 -7