diff options
3 files changed, 66 insertions, 17 deletions
diff --git a/target/linux/ar71xx/base-files/etc/defconfig/generic/network b/target/linux/ar71xx/base-files/etc/defconfig/generic/network deleted file mode 100644 index 2d4d8e012..000000000 --- a/target/linux/ar71xx/base-files/etc/defconfig/generic/network +++ /dev/null @@ -1,16 +0,0 @@ -config interface loopback - option ifname lo - option proto static - option ipaddr 127.0.0.1 - option netmask 255.0.0.0 - -config interface lan - option ifname eth0 - option type bridge - option proto static - option ipaddr 192.168.1.1 - option netmask 255.255.255.0 - -config interface wan - option ifname eth1 - option proto dhcp diff --git a/target/linux/ar71xx/base-files/etc/init.d/defconfig b/target/linux/ar71xx/base-files/etc/init.d/defconfig index 9fdfd6f89..364fa4a6a 100755 --- a/target/linux/ar71xx/base-files/etc/init.d/defconfig +++ b/target/linux/ar71xx/base-files/etc/init.d/defconfig @@ -10,7 +10,7 @@ start() { local board=$(ar71xx_board_name) - [ ! -d /etc/defconfig/$board ] && board="generic" + [ ! -d /etc/defconfig/$board ] && return 0 for f in $( ls /etc/defconfig/$board ); do if [ ! -e /etc/config/$f ]; then diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network new file mode 100755 index 000000000..0a355eaf0 --- /dev/null +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Copyright (C) 2011 OpenWrt.org +# + +set_interface_loopback() { + uci batch <<EOF +set network.loopback='interface' +set network.loopback.ifname='lo' +set network.loopback.proto='static' +set network.loopback.ipaddr='127.0.0.1' +set network.loopback.netmask='255.0.0.0' +EOF +} + +set_interface_lan() { + local ifname=$1 + + uci batch <<EOF +set network.lan='interface' +set network.lan.ifname='$ifname' +set network.lan.type='bridge' +set network.lan.proto='static' +set network.lan.ipaddr='192.168.1.1' +set network.lan.netmask='255.255.255.0' +EOF +} + +set_interface_wan() { + local ifname=$1 + + uci batch <<EOF +set network.wan='interface' +set network.wan.ifname='$ifname' +set network.wan.proto='dhcp' +EOF +} + +set_interfaces_lan_wan() { + local lan_ifname=$1 + local wan_ifname=$2 + + set_interface_lan "$lan_ifname" + set_interface_wan "$wan_ifname" +} + +[ -e /etc/config/network ] && exit 0 + +touch /etc/config/network + +set_interface_loopback + +. /lib/ar71xx.sh + +board=$(ar71xx_board_name) + +case "$board" in +*) + set_interfaces_lan_wan "eth0" "eth1" + ;; +esac + +uci commit network + +exit 0 |