dracut/0018-ifcfg-fix-output-for-ipv6-static-addressing.patch

49 lines
1.9 KiB
Diff
Raw Normal View History

From 30430fbe3096da363a2ef6b8c791e701643e15aa Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Mon, 11 Jun 2012 13:46:22 -0400
Subject: [PATCH] ifcfg: fix output for ipv6 static addressing
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 | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index 202a16a..b62170d 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -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