diff options
| -rw-r--r-- | package/admswconfig/Makefile | 4 | ||||
| -rw-r--r-- | package/admswconfig/files/admswconfig | 67 | ||||
| -rw-r--r-- | package/admswconfig/files/admswswitch.sh | 25 | 
3 files changed, 96 insertions, 0 deletions
| diff --git a/package/admswconfig/Makefile b/package/admswconfig/Makefile index 52aa2a467..96797378c 100644 --- a/package/admswconfig/Makefile +++ b/package/admswconfig/Makefile @@ -43,6 +43,10 @@ endef  define Package/admswconfig/install  	$(INSTALL_DIR) $(1)/sbin  	$(INSTALL_BIN) $(PKG_BUILD_DIR)/admswconfig $(1)/sbin/ +	$(INSTALL_DIR) $(1)/lib/network/ +	$(INSTALL_DATA) ./files/admswswitch.sh $(1)/lib/network/admswswitch.sh +	$(INSTALL_DIR) $(1)/etc/init.d +	$(INSTALL_BIN) ./files/admswconfig $(1)/etc/init.d/admswconfig  endef  $(eval $(call BuildPackage,admswconfig)) diff --git a/package/admswconfig/files/admswconfig b/package/admswconfig/files/admswconfig new file mode 100644 index 000000000..dd5524250 --- /dev/null +++ b/package/admswconfig/files/admswconfig @@ -0,0 +1,67 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=05 + +start() { +	[ -e /etc/config/network ] && exit 0 + +	mkdir -p /etc/config + +adm5120_detect() { +	board_name=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo) + +	case "$board_name" in +	"Compex WP54"*) +		board="WP54";; +	*) +		;; +	esac +} + +adm5120_detect +	BEGIN { +		FS="=" +		c["lan_ifname"]="eth0" +		c["wan_ifname"]="eth1" +		c["eth0ports"]="12345" +		c["eth1ports"]="0" +	} + +	END { +		if (model == "Compex WP54") { +			c["vlan0ports"]="0" +			c["vlan1ports"]="1" +		} + +		print "#### VLAN configuration " +		print "config switch" +		p("eth0", "eth0ports") +		p("eth1", "eth1ports") +		print "" +		print "" +		print "#### Loopback configuration" +		print "config interface loopback" +		print "	option ifname	\"lo\"" +		print "	option proto	static" +		print "	option ipaddr	127.0.0.1" +		print "	option netmask	255.0.0.0" +		print "" +		print "" +		print "#### LAN configuration" +		print "config interface lan" +		print "	option type 	bridge" +		p("ifname", "lan_ifname") +		p("macaddr", "lan_macaddr") +		print "	option proto	static" +		print "	option ipaddr	192.168.1.1" +		print "	option netmask	255.255.255.0" +		print "" +		print "" +		print "#### WAN configuration" +		print "config interface	wan" +		p("ifname", "wan_ifname") +		p("macaddr", "wan_macaddr") +		print "	option proto	dhcp" +	}' > /etc/config/network +} diff --git a/package/admswconfig/files/admswswitch.sh b/package/admswconfig/files/admswswitch.sh new file mode 100644 index 000000000..c5898d5a3 --- /dev/null +++ b/package/admswconfig/files/admswswitch.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org + +setup_switch_vlan() { +	config_get ports "$CONFIG_SECTION" "eth$1" +	admswconfig eth$1 ${ports}c +} + +setup_switch() { +	config_cb() { +		case "$1" in +			switch) +				option_cb() { +					case "$1" in +						eth*) setup_switch_vlan "${1##eth}";; +					esac +				} +			;; +			*) +				option_cb() { return 0; } +			;; +		esac +	} +	config_load network +} | 
