From: Harald Hoyer Date: Wed, 18 Jan 2017 11:56:26 +0000 (+0100) Subject: network: fix vlan handling X-Git-Tag: 045~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0cf826a11a2c7e36c3b32ff70c288aca9f31f740;p=thirdparty%2Fdracut.git network: fix vlan handling --- diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh index 80511562b..de8f8616d 100755 --- a/modules.d/40network/ifup.sh +++ b/modules.d/40network/ifup.sh @@ -149,7 +149,9 @@ if [ -z "$DO_VLAN_PHY" ] && [ -e /tmp/vlan.${netif}.phy ]; then for i in /tmp/vlan.*.${netif}; do [ -e "$i" ] || continue - read vlanname < "$i" + unset vlanname + unset phydevice + . "$i" if [ -n "$vlanname" ]; then linkup "$phydevice" ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname)" diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh index b783925ac..f0cfa57b9 100755 --- a/modules.d/40network/net-genrules.sh +++ b/modules.d/40network/net-genrules.sh @@ -41,15 +41,15 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh MASTER_IFACES="$MASTER_IFACES ${teammaster}" done - for j in /tmp/vlan.*.phy; do - [ -e "$j" ] || continue + for i in /tmp/vlan.*.phy; do + [ -e "$i" ] || continue unset phydevice - . "$j" - for i in /tmp/vlan.*.${phydevice}; do - [ -e "$i" ] || continue + . "$i" + RAW_IFACES="$RAW_IFACES $phydevice" + for j in /tmp/vlan.*.${phydevice}; do + [ -e "$j" ] || continue unset vlanname - . "$i" - RAW_IFACES="$RAW_IFACES $phydevice" + . "$j" MASTER_IFACES="$MASTER_IFACES ${vlanname}" done done diff --git a/modules.d/40network/parse-vlan.sh b/modules.d/40network/parse-vlan.sh index 3e78ba3a4..29200ee5e 100755 --- a/modules.d/40network/parse-vlan.sh +++ b/modules.d/40network/parse-vlan.sh @@ -26,6 +26,9 @@ for vlan in $(getargs vlan=); do parsevlan "$(getarg vlan=)" fi - echo "$phydevice" > /tmp/vlan.${phydevice}.phy - echo "$vlanname" > /tmp/vlan.${vlanname}.${phydevice} + echo "phydevice=\"$phydevice\"" > /tmp/vlan.${phydevice}.phy + { + echo "vlanname=\"$vlanname\"" + echo "phydevice=\"$phydevice\"" + } > /tmp/vlan.${vlanname}.${phydevice} done diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh index c3774ae9b..16835467c 100755 --- a/modules.d/45ifcfg/write-ifcfg.sh +++ b/modules.d/45ifcfg/write-ifcfg.sh @@ -132,6 +132,8 @@ for netup in /tmp/net.*.did-setup ; do unset slave unset ethname unset vlan + unset vlanname + unset phydevice [ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info [ -e /tmp/bridge.${netif}.info ] && . /tmp/bridge.${netif}.info