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