]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
network: fix vlan handling
authorHarald Hoyer <harald@redhat.com>
Wed, 18 Jan 2017 11:56:26 +0000 (12:56 +0100)
committerHarald Hoyer <harald@redhat.com>
Wed, 18 Jan 2017 12:28:47 +0000 (13:28 +0100)
modules.d/40network/ifup.sh
modules.d/40network/net-genrules.sh
modules.d/40network/parse-vlan.sh
modules.d/45ifcfg/write-ifcfg.sh

index 80511562b1362690a3963050cfbc4aa97aba011d..de8f8616d507614809c415642a987794b2714f46 100755 (executable)
@@ -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)"
index b783925ac3738a75d6d3c673dd9052834590d832..f0cfa57b9f2f3c18298ab5413b7486c126b6b40c 100755 (executable)
@@ -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
index 3e78ba3a40224bfdbd60244d115903857ebd408c..29200ee5ecfb97c360a7b901ef029f880d1b9550 100755 (executable)
@@ -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
index c3774ae9b766a06f7a78c79e515d76d03c2289bd..16835467c6c47851e2394255eebbc7f32e15f1eb 100755 (executable)
@@ -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