From a8a833f845c7cf981ad46255271ef605098afd08 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 23 Aug 2006 18:47:31 +0000
Subject: [PATCH] change 'ifnames' to 'ifname' in network config, fix #697

git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4638 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../base-files/au1000-2.6/etc/config/network  |  2 +-
 .../brcm-2.4/etc/init.d/S05netconfig          | 14 ++++-----
 .../brcm-2.6/etc/init.d/S05netconfig          | 14 ++++-----
 .../base-files/default/lib/network/config.sh  | 30 +++++--------------
 .../base-files/sibyte-2.6/etc/config/network  |  2 +-
 package/base-files/x86-2.4/etc/config/network |  2 +-
 package/base-files/x86-2.6/etc/config/network |  2 +-
 7 files changed, 24 insertions(+), 42 deletions(-)

diff --git a/package/base-files/au1000-2.6/etc/config/network b/package/base-files/au1000-2.6/etc/config/network
index 95d7575c9..448ab7c9d 100644
--- a/package/base-files/au1000-2.6/etc/config/network
+++ b/package/base-files/au1000-2.6/etc/config/network
@@ -2,7 +2,7 @@
 
 config interface lan
 	option type 	bridge
-	option ifnames	"eth0 ath0"
+	option ifname	"eth0 ath0"
 	option proto	static
 	option ipaddr	192.168.1.1
 	option netmask	255.255.255.0
diff --git a/package/base-files/brcm-2.4/etc/init.d/S05netconfig b/package/base-files/brcm-2.4/etc/init.d/S05netconfig
index 82e4ab998..a4d29358b 100755
--- a/package/base-files/brcm-2.4/etc/init.d/S05netconfig
+++ b/package/base-files/brcm-2.4/etc/init.d/S05netconfig
@@ -6,7 +6,7 @@
 mkdir -p /etc/config
 
 (
-	if grep 'mtd0: 00060000' /proc/mtd 2>&- >&-; then
+	if grep -E 'mtd0: 000(6|a)0000' /proc/mtd 2>&- >&-; then
 		# WGT634u
 		echo boardtype=wgt634u
 	else
@@ -19,9 +19,7 @@ function p(cfgname, name) {
 
 BEGIN {
 	FS="="
-	c["lan_ifname"]="br0"
-	c["lan_ifnames"]="eth0.0 wl0"
-	c["wan_proto"]="none"
+	c["lan_ifname"]="eth0.0 wl0"
 	c["wan_ifname"]="eth0.1"
 	c["vlan0ports"]="1 2 3 4 5*"
 	c["vlan1ports"]="0 5"
@@ -36,14 +34,14 @@ END {
 	if (nvram["boardtype"] == "bcm94710dev") {
 		# Asus WL-500g
 		if (nvram["boardnum"] == "asusX") {
-			c["lan_ifnames"]="eth0 eth1 wl0" # FIXME
+			c["lan_ifname"]="eth0 eth1 wl0" # FIXME
 			c["wan_ifname"]=""
 		}
 	}
 	if (nvram["boardtype"] == "wgt634u") {
 		c["vlan0ports"] = "0 1 2 3 5*"
 		c["vlan1ports"] = "4 5"
-		c["lan_ifnames"] = "eth0.0 ath0"
+		c["lan_ifname"] = "eth0.0 ath0"
 	}
 	if ((nvram["boardtype"] == "0x0467") || (nvram["boardtype"] == "0x042f")) {
 		c["vlan0ports"] = "0 1 2 3 5*"
@@ -53,7 +51,7 @@ END {
 	# WAP54G
 	if ((nvram["boardnum"] == "2") || \
 		(nvram["boardnum"] == "1024")) {
-		c["lan_ifnames"]="eth0 wl0"
+		c["lan_ifname"]="eth0 wl0"
 		c["wan_ifname"]=""
 	}
 
@@ -66,7 +64,7 @@ END {
 	print "#### LAN configuration"
 	print "config interface lan"
 	print "	option type 	bridge"
-	p("ifnames", "lan_ifnames")
+	p("ifnames", "lan_ifname")
 	print "	option proto	static"
 	print "	option ipaddr	192.168.1.1"
 	print "	option netmask	255.255.255.0"
diff --git a/package/base-files/brcm-2.6/etc/init.d/S05netconfig b/package/base-files/brcm-2.6/etc/init.d/S05netconfig
index 82e4ab998..a4d29358b 100755
--- a/package/base-files/brcm-2.6/etc/init.d/S05netconfig
+++ b/package/base-files/brcm-2.6/etc/init.d/S05netconfig
@@ -6,7 +6,7 @@
 mkdir -p /etc/config
 
 (
-	if grep 'mtd0: 00060000' /proc/mtd 2>&- >&-; then
+	if grep -E 'mtd0: 000(6|a)0000' /proc/mtd 2>&- >&-; then
 		# WGT634u
 		echo boardtype=wgt634u
 	else
@@ -19,9 +19,7 @@ function p(cfgname, name) {
 
 BEGIN {
 	FS="="
-	c["lan_ifname"]="br0"
-	c["lan_ifnames"]="eth0.0 wl0"
-	c["wan_proto"]="none"
+	c["lan_ifname"]="eth0.0 wl0"
 	c["wan_ifname"]="eth0.1"
 	c["vlan0ports"]="1 2 3 4 5*"
 	c["vlan1ports"]="0 5"
@@ -36,14 +34,14 @@ END {
 	if (nvram["boardtype"] == "bcm94710dev") {
 		# Asus WL-500g
 		if (nvram["boardnum"] == "asusX") {
-			c["lan_ifnames"]="eth0 eth1 wl0" # FIXME
+			c["lan_ifname"]="eth0 eth1 wl0" # FIXME
 			c["wan_ifname"]=""
 		}
 	}
 	if (nvram["boardtype"] == "wgt634u") {
 		c["vlan0ports"] = "0 1 2 3 5*"
 		c["vlan1ports"] = "4 5"
-		c["lan_ifnames"] = "eth0.0 ath0"
+		c["lan_ifname"] = "eth0.0 ath0"
 	}
 	if ((nvram["boardtype"] == "0x0467") || (nvram["boardtype"] == "0x042f")) {
 		c["vlan0ports"] = "0 1 2 3 5*"
@@ -53,7 +51,7 @@ END {
 	# WAP54G
 	if ((nvram["boardnum"] == "2") || \
 		(nvram["boardnum"] == "1024")) {
-		c["lan_ifnames"]="eth0 wl0"
+		c["lan_ifname"]="eth0 wl0"
 		c["wan_ifname"]=""
 	}
 
@@ -66,7 +64,7 @@ END {
 	print "#### LAN configuration"
 	print "config interface lan"
 	print "	option type 	bridge"
-	p("ifnames", "lan_ifnames")
+	p("ifnames", "lan_ifname")
 	print "	option proto	static"
 	print "	option ipaddr	192.168.1.1"
 	print "	option netmask	255.255.255.0"
diff --git a/package/base-files/default/lib/network/config.sh b/package/base-files/default/lib/network/config.sh
index 690d7996e..0cd6cb889 100755
--- a/package/base-files/default/lib/network/config.sh
+++ b/package/base-files/default/lib/network/config.sh
@@ -8,11 +8,6 @@ find_config() {
 	for ifn in $interfaces; do
 		config_get iftype "$ifn" type
 		config_get iface "$ifn" ifname
-		case "$iftype" in
-			bridge)
-				config_get iface "$ifn" ifnames
-			;;
-		esac
 		config_get device "$ifn" device
 		for ifc in ${device:-$iface}; do
 			[ "$ifc" = "$1" ] && {
@@ -32,17 +27,9 @@ scan_interfaces() {
 		config_get iftype "$CONFIG_SECTION" TYPE
 		case "$iftype" in
 			interface)
-				config_get iftype "$CONFIG_SECTION" type
-				config_get mode "$CONFIG_SECTION" proto
-				case "$iftype" in
-					bridge)
-						config_get iface "$CONFIG_SECTION" ifname
-						iface="${iface:-br-$CONFIG_SECTION}"
-						config_set "$CONFIG_SECTION" ifname "$iface"
-					;;
-				esac
+				config_get proto "$CONFIG_SECTION" proto
 				append interfaces "$CONFIG_SECTION"
-				( type "scan_$mode" ) >/dev/null 2>/dev/null && eval "scan_$mode '$CONFIG_SECTION'"
+				( type "scan_$proto" ) >/dev/null 2>/dev/null && eval "scan_$proto '$CONFIG_SECTION'"
 			;;
 		esac
 	}
@@ -80,16 +67,15 @@ setup_interface() {
 	# Setup bridging
 	case "$iftype" in
 		bridge)
-			config_get bridge_ifname "$config" ifname
 			ifconfig "$iface" up 2>/dev/null >/dev/null
-			ifconfig "$bridge_ifname" 2>/dev/null >/dev/null && {
-				$DEBUG brctl addif "$bridge_ifname" "$iface"
+			ifconfig "br-$config" 2>/dev/null >/dev/null && {
+				$DEBUG brctl addif "br-$config" "$iface"
 				return 0
 			} || {
-				$DEBUG brctl addbr "$bridge_ifname"
-				$DEBUG brctl setfd "$bridge_ifname" 0
-				$DEBUG brctl addif "$bridge_ifname" "$iface"
-				iface="$bridge_ifname"
+				$DEBUG brctl addbr "br-$config"
+				$DEBUG brctl setfd "br-$config" 0
+				$DEBUG brctl addif "br-$config" "$iface"
+				iface="br-$config"
 			}
 		;;
 	esac
diff --git a/package/base-files/sibyte-2.6/etc/config/network b/package/base-files/sibyte-2.6/etc/config/network
index 95d7575c9..448ab7c9d 100644
--- a/package/base-files/sibyte-2.6/etc/config/network
+++ b/package/base-files/sibyte-2.6/etc/config/network
@@ -2,7 +2,7 @@
 
 config interface lan
 	option type 	bridge
-	option ifnames	"eth0 ath0"
+	option ifname	"eth0 ath0"
 	option proto	static
 	option ipaddr	192.168.1.1
 	option netmask	255.255.255.0
diff --git a/package/base-files/x86-2.4/etc/config/network b/package/base-files/x86-2.4/etc/config/network
index 9f521c05b..f1ed97745 100644
--- a/package/base-files/x86-2.4/etc/config/network
+++ b/package/base-files/x86-2.4/etc/config/network
@@ -2,7 +2,7 @@
 
 config interface lan
 	option type 	bridge
-	option ifnames	"eth1 eth2"
+	option ifname	"eth1 eth2"
 	option proto	static
 	option ipaddr	192.168.1.1
 	option netmask	255.255.255.0
diff --git a/package/base-files/x86-2.6/etc/config/network b/package/base-files/x86-2.6/etc/config/network
index 9f521c05b..f1ed97745 100644
--- a/package/base-files/x86-2.6/etc/config/network
+++ b/package/base-files/x86-2.6/etc/config/network
@@ -2,7 +2,7 @@
 
 config interface lan
 	option type 	bridge
-	option ifnames	"eth1 eth2"
+	option ifname	"eth1 eth2"
 	option proto	static
 	option ipaddr	192.168.1.1
 	option netmask	255.255.255.0
-- 
2.20.1