summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/base-files/etc/uci-defaults
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-11-15 18:21:00 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-11-15 18:21:00 +0000
commit5df57010b8afe0ec77275ba1d04f65a09ef2c2f2 (patch)
tree8a2cdec9fa21bb770feaa16d7ed7298efb0a0264 /target/linux/lantiq/base-files/etc/uci-defaults
parentc62a1741c4bfd12832633dcc0017b8804e1bcfb2 (diff)
lantiq: add runtime generation of /etc/config/network
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29161 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/lantiq/base-files/etc/uci-defaults')
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/uci-defaults/network126
1 files changed, 126 insertions, 0 deletions
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/network b/target/linux/lantiq/base-files/etc/uci-defaults/network
new file mode 100755
index 0000000000..f9a723754d
--- /dev/null
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/network
@@ -0,0 +1,126 @@
+#!/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_raw() {
+ local cfg=$1
+ local ifname=$2
+
+ uci batch <<EOF
+set network.$cfg='interface'
+set network.$cfg.ifname='$ifname'
+set network.$cfg.proto='none'
+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_atm_wan() {
+ local vpi=$1
+ local vci=$2
+ local encaps=$3
+ local payload=$4
+
+ uci batch <<EOF
+set network.atm='atm-bridge'
+set network.atm.unit='0'
+set network.atm.vpi='$vpi'
+set network.atm.vci='$vci'
+set network.atm.encaps='$encaps'
+set network.atm.payload='$payload'
+set network.wan='interface'
+set network.wan.ifname='nas0'
+set network.wan.proto='pppoe'
+set network.wan.username='foo'
+set network.wan.password='bar'
+EOF
+}
+
+set_interfaces_lan_wan() {
+ local lan_ifname=$1
+ local wan_ifname=$2
+
+ set_interface_lan "$lan_ifname"
+ set_interface_wan "$wan_ifname"
+}
+
+add_switch() {
+ local name=$1
+ local reset=$2
+ local enable=$3
+ uci batch <<EOF
+add network switch
+set network.@switch[-1].name='$name'
+set network.@switch[-1].reset='$reset'
+set network.@switch[-1].enable_vlan='$enable'
+EOF
+}
+
+add_switch_vlan() {
+ local device=$1
+ local vlan=$2
+ local ports=$3
+ uci batch <<EOF
+add network switch_vlan
+set network.@switch_vlan[-1].device='$device'
+set network.@switch_vlan[-1].vlan='$vlan'
+set network.@switch_vlan[-1].ports='$ports'
+EOF
+}
+
+[ -e /etc/config/network ] && exit 0
+
+. /lib/lantiq.sh
+
+touch /etc/config/network
+
+set_interface_loopback
+set_interface_lan 'eth0'
+
+dsl=$(lantiq_soc_has_adsl)
+[ -z "$dsl" ] || set_atm_wan '1' '32' 'llc' 'bridged'
+
+board=$(lantiq_board_name)
+
+case "$board" in
+*)
+ # custom foo goes here
+ true
+ ;;
+esac
+
+uci commit network
+
+exit 0