Description of problem: Kdump fails with network unreachable mkdumprd produces vlan config that does not get ip address for vlan on eth device. Version-Release number of selected component (if applicable): kexec-tools-2.0.20-3.fc31.aarch64 How reproducible: Consistently reproducible with kvm VM with eth0 and eth0.some-vlan device. Setup kdump.conf for ssh using eth0.vlan device. kdump fails. Steps to Reproduce: 1. In vm with single eth0 device and eth0.160: https://src.fedoraproject.org/rpms/kexec-tools.git VLAN="yes" TYPE="Vlan" PHYSDEV="eth0" VLAN_ID="160" REORDER_HDR="no" GVRP="no" VLAN_FLAGS="NO_REORDER_HDR" MVRP="no" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" IPADDR="192.168.132.2" PREFIX="24" GATEWAY="192.168.132.1" DNS1="192.168.132.1" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="eth0.160" DEVICE="eth0.160" ONBOOT="yes" 2. Configure kdump over the eth0.160 device: ssh kdump.132.1 sshkey /root/.ssh/id_rsa path /var/crash/ core_collector makedumpfile -F -d 17 -c default shell 3. Build initrd: systemctl start kdump Actual results: kdump test fails. kdump shell shows: # ip addr show eth1 2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:27:c4:a5 brd ff:ff:ff:ff:ff:ff 3: eth0.160@kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:27:c4:a5 brd ff:ff:ff:ff:ff:ff Expected results: kdump test succeeds. kdump eth0.160 should get ip address something like: 2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:27:c4:a5 brd ff:ff:ff:ff:ff:ff 3: eth0.160@kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:27:c4:a5 brd ff:ff:ff:ff:ff:ff inet 192.168.132.2/24 brd 192.168.132.255 scope global eth1.160 valid_lft forever preferred_lft forever Additional info: Dissection of kdump initrd reveals /etc/cmdline.d/ contains these two files and contents: 40ip.conf ip=192.168.132.2::192.168.132.1:255.255.255.0::kdump-eth0.160:none 43vlan.conf: vlan=eth0.160:kdump-eth0 ifname=kdump-eth0:52:54:00:27:c4:a5 Which can be confirmed, in kdump shell, to build kdump-eth0 device, and eth0.160 device. eth0.160 does not get an ip address, because the ip address expects device kdump-eth0.160. The following solution has been tested by the customer and does allow this configuration to work on eth0.160: diff -up /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh.orig.2 /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh --- /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh.orig.2 2019-08-27 15:33:28.397000000 -0400 +++ /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh 2019-08-27 15:34:34.571000000 -0400 @@ -252,10 +252,10 @@ kdump_setup_vlan() { exit 1 elif kdump_is_bond "$_phydev"; then kdump_setup_bond "$_phydev" - echo " vlan=$_netdev:$_phydev" > ${initdir}/etc/cmdline.d/43vlan.conf + echo " vlan=$(kdump_setup_ifname $_netdev):$_phydev" > ${initdir}/etc/cmdline.d/43vlan.conf else _kdumpdev="$(kdump_setup_ifname $_phydev)" - echo " vlan=$_netdev:$_kdumpdev ifname=$_kdumpdev:$_netmac" > ${initdir}/etc/cmdline.d/43vlan.conf + echo " vlan=$(kdump_setup_ifname $_netdev):$_kdumpdev ifname=$_kdumpdev:$_netmac" > ${initdir}/etc/cmdline.d/43vlan.conf fi } That patch results in kdump-eth0.160 instead of eth0.160, which allows no changes necessary to 40ip.conf.
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32.
Kexec-tools side issue is fixed in latest release, on F31 F32 and rawhide. One still have to use network-legacy module in dracut by add dracut_args --add "network-legacy" in /etc/kdump.conf to make it work, due to a dracut issue. I'll close this one as kexec-tools is good.