ifcfg: fix output for ipv6 static addressing
authorWill Woods <wwoods@redhat.com>
Mon, 11 Jun 2012 17:46:22 +0000 (13:46 -0400)
committerHarald Hoyer <harald@redhat.com>
Tue, 12 Jun 2012 17:24:46 +0000 (19:24 +0200)
IPV6 configuration is pretty different than IPV4; write out the correct
set of values to make static IPV6 addressing work.

modules.d/45ifcfg/write-ifcfg.sh

index 202a16a..b62170d 100755 (executable)
@@ -109,16 +109,25 @@ for netif in $IFACES ; do
             echo "BOOTPROTO=dhcp"
             cp /tmp/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
         else
-            echo "BOOTPROTO=none"
-        # If we've booted with static ip= lines, the override file is there
+            # If we've booted with static ip= lines, the override file is there
             [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
-            echo "IPADDR=$ip"
-            if strstr "$mask" "."; then
-                echo "NETMASK=$mask"
+            if strstr "$ip" '*:*:*'; then
+                echo "IPV6_AUTOCONF=no"
+                echo "IPV6ADDR=$ip/$mask"
             else
-                echo "PREFIX=$mask"
+                echo "BOOTPROTO=none"
+                echo "IPADDR=$ip"
+                if strstr "$mask" "."; then
+                    echo "NETMASK=$mask"
+                else
+                    echo "PREFIX=$mask"
+                fi
+            fi
+            if strstr "$gw" '*:*:*'; then
+                echo "IPV6_DEFAULTGW=$gw"
+            elif [ -n "$gw" ]; then
+                echo "GATEWAY=$gw"
             fi
-            [ -n "$gw" ] && echo "GATEWAY=$gw"
         fi
     } > /tmp/ifcfg/ifcfg-$netif