Harald Hoyer d1bf89
From 50b08e7b85085169459dd971b711f712744598ef Mon Sep 17 00:00:00 2001
Harald Hoyer d1bf89
From: Will Woods <wwoods@redhat.com>
Harald Hoyer d1bf89
Date: Mon, 11 Jun 2012 13:46:21 -0400
Harald Hoyer d1bf89
Subject: [PATCH] fix ifup for static ipv6
Harald Hoyer d1bf89
Harald Hoyer d1bf89
"brd +" is not valid for ipv6. This causes the 'ip addr add' command to
Harald Hoyer d1bf89
fail with the message "Broadcast can be set only for IPv4 addresses".
Harald Hoyer d1bf89
Harald Hoyer d1bf89
So: don't use "brd +" for ipv6.
Harald Hoyer d1bf89
---
Harald Hoyer d1bf89
 modules.d/40network/ifup.sh |    9 ++++++---
Harald Hoyer d1bf89
 1 file changed, 6 insertions(+), 3 deletions(-)
Harald Hoyer d1bf89
Harald Hoyer d1bf89
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
Harald Hoyer d1bf89
index 35ae3c6..ae434a8 100755
Harald Hoyer d1bf89
--- a/modules.d/40network/ifup.sh
Harald Hoyer d1bf89
+++ b/modules.d/40network/ifup.sh
Harald Hoyer d1bf89
@@ -105,10 +105,13 @@ do_static() {
Harald Hoyer d1bf89
     wait_for_if_up $netif
Harald Hoyer d1bf89
     [ -n "$macaddr" ] && ip link set address $macaddr
Harald Hoyer d1bf89
     [ -n "$mtu" ] && ip link set mtu $mtu
Harald Hoyer d1bf89
-    # do not flush addr for ipv6
Harald Hoyer d1bf89
-    strstr $ip '*:*:*' || \
Harald Hoyer d1bf89
+    if strstr $ip '*:*:*'; then
Harald Hoyer d1bf89
+        # note no ip addr flush for ipv6
Harald Hoyer d1bf89
+        ip addr add $ip/$mask dev $netif
Harald Hoyer d1bf89
+    else
Harald Hoyer d1bf89
         ip addr flush dev $netif
Harald Hoyer d1bf89
-    ip addr add $ip/$mask brd + dev $netif
Harald Hoyer d1bf89
+        ip addr add $ip/$mask brd + dev $netif
Harald Hoyer d1bf89
+    fi
Harald Hoyer d1bf89
 
Harald Hoyer d1bf89
     [ -n "$gw" ] && echo ip route add default via $gw dev $netif > /tmp/net.$netif.gw
Harald Hoyer d1bf89
     [ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname