#!/bin/sh
#
# Copyright (C) 2012-2014 OpenWrt.org
#

[ -e /etc/config/network ] && exit 0

touch /etc/config/network

set_lan_dhcp() {
	local ifname=$1
	uci batch <<EOF
set network.lan='interface'
set network.lan.ifname='$ifname'
set network.lan.proto='dhcp'
set network.lan6='interface'
set network.lan6.ifname='@lan'
set network.lan6.proto='dhcpv6'
set network.lan6.reqprefix='no'
EOF
}

add_port_based_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'
set network.@switch_vlan[-1].port_based='1'
EOF
}

. /lib/functions/uci-defaults.sh
. /lib/kirkwood.sh

board=$(kirkwood_board_name)

ucidef_set_interface_loopback

case "$board" in
"dockstar")
	set_lan_dhcp "eth0"
	;;
"iconnect")
	set_lan_dhcp "eth0"
	;;
"ib62x0")
	set_lan_dhcp "eth0"
	;;
"pogo_e02")
	set_lan_dhcp "eth0"
	;;
"ea3500")
	ucidef_set_interfaces_lan_wan "eth0" "eth1"
	;;
"ea4500")
	ucidef_set_interfaces_lan_wan "eth0" "eth1"
	ucidef_add_switch "switch0" "1" "0"
	add_port_based_vlan "switch0" "1" "0 1 2 3 5"
	add_port_based_vlan "switch0" "2" "4 6"
	;;
"guruplug-server-plus")
	set_lan_dhcp "eth0" "eth1"
	;;
"sheevaplug" | \
"sheevaplug-esata")
	set_lan_dhcp "eth0"
	;;
*)
	ucidef_set_interface_lan "eth0"
	;;
esac

uci commit network

exit 0
