A vlan interface is created on top of another interface, such as an
Ethernet, bonding, team which is called parent interface. When the
parent interface is physical, there is no need to copy the connection
profile of the physical interface to initrd. Only allowing NM to manage
this physical parent interface would be sufficient.
Also rename phydev to parent_netif to improve code readability.
Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index ad5babc..64f9141 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -450,26 +450,21 @@ kdump_setup_team() {
kdump_setup_vlan() {
local _netdev=$1
- local _phydev
- local _netmac
- local _kdumpdev
+ local _parent_netif
- _phydev="$(awk '/^Device:/{print $2}'
/proc/net/vlan/"$_netdev")"
- _netmac="$(kdump_get_mac_addr "$_phydev")"
+ _parent_netif="$(awk '/^Device:/{print $2}'
/proc/net/vlan/"$_netdev")"
#Just support vlan over bond and team
- if kdump_is_bridge "$_phydev"; then
+ if kdump_is_bridge "$_parent_netif"; then
derror "Vlan over bridge is not supported!"
exit 1
- elif kdump_is_bond "$_phydev"; then
- (kdump_setup_bond "$_phydev") || exit 1
- echo " vlan=$(kdump_setup_ifname "$_netdev"):$_phydev" >
"${initdir}/etc/cmdline.d/43vlan.conf"
- elif kdump_is_team "$_phydev"; then
- (kdump_setup_team "$_phydev") || exit 1
- echo " vlan=$(kdump_setup_ifname "$_netdev"):$_phydev" >
"${initdir}/etc/cmdline.d/43vlan.conf"
+ elif kdump_is_bond "$_parent_netif"; then
+ (kdump_setup_bond "$_parent_netif") || exit 1
+ kdump_copy_nmconnection_file "$_parent_netif"
+ elif kdump_is_team "$_parent_netif"; then
+ (kdump_setup_team "$_parent_netif") || exit 1
else
- _kdumpdev="$(kdump_setup_ifname "$_phydev")"
- echo " vlan=$(kdump_setup_ifname "$_netdev"):$_kdumpdev
ifname=$_kdumpdev:$_netmac" > "${initdir}/etc/cmdline.d/43vlan.conf"
+ echo -n "except:interface-name:$_parent_netif," >>
"/tmp/$$-netif_allowlist"
fi
}
--
2.34.1