From c118e5edf4301dc303024603dd34d369d9926d6d Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Wed, 8 Oct 2014 13:08:05 +0000
Subject: [PATCH] network: Unbind DHCPv6 from underlying interfaces

This allows IPv6 to set up without IPv4 being up thus
IPv6-only or IPv6+DS-Lite working with the default config.

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 42848
---
 package/base-files/files/bin/config_generate              | 2 +-
 package/base-files/files/etc/config/network               | 4 ----
 package/base-files/files/lib/functions/uci-defaults.sh    | 2 +-
 target/linux/adm5120/base-files/etc/config/network        | 2 +-
 target/linux/adm8668/base-files/etc/config/network        | 2 +-
 target/linux/mcs814x/base-files/etc/config/network        | 2 +-
 target/linux/orion/base-files/etc/uci-defaults/10-network | 2 +-
 target/linux/rb532/base-files/etc/config/network          | 2 +-
 target/linux/x86/alix2/base-files/etc/config/network      | 2 +-
 target/linux/x86/base-files/etc/defconfig/net4801/network | 2 +-
 target/linux/x86/geos/base-files/etc/config/network       | 2 +-
 target/linux/x86/net5501/base-files/etc/config/network    | 2 +-
 target/linux/x86/rdc/base-files/etc/config/network        | 2 +-
 13 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 3f60c5b862..9a3b30065d 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -62,7 +62,7 @@ EOF
 set network.$1.proto='dhcp'
 delete network.wan6
 set network.wan6='interface'
-set network.wan6.ifname='@wan'
+set network.wan6.ifname='$ifname'
 set network.wan6.proto='dhcpv6'
 EOF
 		;;
diff --git a/package/base-files/files/etc/config/network b/package/base-files/files/etc/config/network
index 3c9c30a59f..d3cd3c613a 100644
--- a/package/base-files/files/etc/config/network
+++ b/package/base-files/files/etc/config/network
@@ -14,9 +14,5 @@ config interface lan
 	option netmask	255.255.255.0
 	option ip6assign 60
 
-config interface wan6
-	option ifname	@wan
-	option proto	dhcpv6
-
 config globals globals
 	option ula_prefix auto
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index e90090c40b..798d6baa79 100644
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -190,7 +190,7 @@ set network.wan='interface'
 set network.wan.ifname='$ifname'
 set network.wan.proto='dhcp'
 set network.wan6='interface'
-set network.wan6.ifname='@wan'
+set network.wan6.ifname='$ifname'
 set network.wan6.proto='dhcpv6'
 EOF
 }
diff --git a/target/linux/adm5120/base-files/etc/config/network b/target/linux/adm5120/base-files/etc/config/network
index 9c52c0e394..87782f4782 100644
--- a/target/linux/adm5120/base-files/etc/config/network
+++ b/target/linux/adm5120/base-files/etc/config/network
@@ -30,7 +30,7 @@ config interface	wan
 
 #### WAN6 configuration
 config interface	wan6
-	option ifname	"@wan"
+	option ifname	"eth1"
 	option proto	dhcpv6
 
 
diff --git a/target/linux/adm8668/base-files/etc/config/network b/target/linux/adm8668/base-files/etc/config/network
index 2b53cf6c5d..5967cdd067 100644
--- a/target/linux/adm8668/base-files/etc/config/network
+++ b/target/linux/adm8668/base-files/etc/config/network
@@ -17,7 +17,7 @@ config interface wan
 	option proto	dhcp
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth1
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/mcs814x/base-files/etc/config/network b/target/linux/mcs814x/base-files/etc/config/network
index e2f779e7ba..cec7b2525c 100644
--- a/target/linux/mcs814x/base-files/etc/config/network
+++ b/target/linux/mcs814x/base-files/etc/config/network
@@ -14,7 +14,7 @@ config interface lan
 	option ip6assign 60
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/orion/base-files/etc/uci-defaults/10-network b/target/linux/orion/base-files/etc/uci-defaults/10-network
index 3baa679a8b..5d5a5851f9 100644
--- a/target/linux/orion/base-files/etc/uci-defaults/10-network
+++ b/target/linux/orion/base-files/etc/uci-defaults/10-network
@@ -29,7 +29,7 @@ config interface lan
 	option ip6assign 60
 
 config interface wan6
-	option ifname   @wan
+	option ifname   wan
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/rb532/base-files/etc/config/network b/target/linux/rb532/base-files/etc/config/network
index 11537993c8..75a14a7308 100644
--- a/target/linux/rb532/base-files/etc/config/network
+++ b/target/linux/rb532/base-files/etc/config/network
@@ -18,7 +18,7 @@ config interface lan
 	option ip6assign 60
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/x86/alix2/base-files/etc/config/network b/target/linux/x86/alix2/base-files/etc/config/network
index 505628e949..4683402843 100644
--- a/target/linux/x86/alix2/base-files/etc/config/network
+++ b/target/linux/x86/alix2/base-files/etc/config/network
@@ -21,7 +21,7 @@ config interface wan
 	option proto	dhcp
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/x86/base-files/etc/defconfig/net4801/network b/target/linux/x86/base-files/etc/defconfig/net4801/network
index 172d513159..6821c807d0 100644
--- a/target/linux/x86/base-files/etc/defconfig/net4801/network
+++ b/target/linux/x86/base-files/etc/defconfig/net4801/network
@@ -17,7 +17,7 @@ config interface wan
 	option proto	dhcp
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/x86/geos/base-files/etc/config/network b/target/linux/x86/geos/base-files/etc/config/network
index a60fcdf28d..d12d528032 100644
--- a/target/linux/x86/geos/base-files/etc/config/network
+++ b/target/linux/x86/geos/base-files/etc/config/network
@@ -30,7 +30,7 @@ config interface wan
 	# option macaddr '00:0A:FA:22:00:80'
 
 config interface wan6
-	option ifname   @wan
+	option ifname   nas0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/x86/net5501/base-files/etc/config/network b/target/linux/x86/net5501/base-files/etc/config/network
index 330c60b324..4aa8096584 100644
--- a/target/linux/x86/net5501/base-files/etc/config/network
+++ b/target/linux/x86/net5501/base-files/etc/config/network
@@ -19,7 +19,7 @@ config interface wan
 	option proto	dhcp
 
 config interface wan6
-	option ifname   @wan
+	option ifname   eth0
 	option proto    dhcpv6
 
 config globals globals
diff --git a/target/linux/x86/rdc/base-files/etc/config/network b/target/linux/x86/rdc/base-files/etc/config/network
index 9ee12dc008..69627f7c1a 100644
--- a/target/linux/x86/rdc/base-files/etc/config/network
+++ b/target/linux/x86/rdc/base-files/etc/config/network
@@ -19,7 +19,7 @@ config interface wan
 	option proto	dhcp
 
 config interface wan6
-        option ifname   @wan
+        option ifname   eth0
         option proto    dhcpv6
 
 config globals globals
-- 
GitLab