1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-25 01:24:04 +02:00
openwrt-xburst/target/linux/lantiq/base-files/etc/uci-defaults/network
blogic 5df57010b8 lantiq: add runtime generation of /etc/config/network
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29161 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-15 18:21:00 +00:00

127 lines
2.2 KiB
Bash
Executable File

#!/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