--- /dev/null
+#!/bin/sh
+
+. /lib/functions/uci-defaults-new.sh
+
+board_config_update
+
+if [ -e "/sys/bus/mdio_bus/drivers/IC+ IP175C/0:00" -o \
+ -e "/sys/bus/mdio_bus/drivers/IC+ IP17xx/0:00" ] && \
+ [ -x /sbin/swconfig ];
+then
+ ucidef_add_switch "eth0" \
+ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
+
+elif [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
+ -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ];
+then
+ ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+
+elif [ -d /sys/class/net/eth1 ]; then
+ ucidef_set_interfaces_lan_wan "eth0" "eth1"
+
+else
+ ucidef_set_interface_lan "eth0"
+fi
+
+board_config_flush
+
+exit 0
+++ /dev/null
-#!/bin/sh
-if [ -e "/sys/bus/mdio_bus/drivers/IC+ IP175C/0:00" -o \
- -e "/sys/bus/mdio_bus/drivers/IC+ IP17xx/0:00" ] && \
- [ -x /sbin/swconfig ];
-then
- uci batch <<EOF
-set network.eth0=switch
-set network.eth0.name=eth0
-set network.eth0.reset=1
-set network.eth0.enable_vlan=1
-set network.eth0_1=switch_vlan
-set network.eth0_1.device=eth0
-set network.eth0_1.vlan=1
-set network.eth0_1.ports="0 1 2 3 5t"
-set network.eth0_2=switch_vlan
-set network.eth0_2.device=eth0
-set network.eth0_2.vlan=2
-set network.eth0_2.ports="4 5t"
-EOF
- HAS_SWITCH=1
-fi
-
-if [ -n "$HAS_SWITCH" -o \
- -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
- -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
- uci batch <<EOF
-set network.lan.ifname=eth0.1
-set network.wan=interface
-set network.wan.ifname=eth0.2
-set network.wan.proto=dhcp
-commit network
-EOF
- HAS_SWITCH=1
-fi
-
-[ -z "$HAS_SWITCH" -a -d /sys/class/net/eth1 ] && {
- uci batch <<EOF
-set network.wan=interface
-set network.wan.ifname=eth1
-set network.wan.proto=dhcp
-commit network
-EOF
-}
-
-uci commit network