#!/bin/sh /etc/rc.common
+
START=46
STOP=46
start_service() {
local section="$1"
-
- include /lib/network
- scan_interfaces
- config_load /var/state/network
- config_get LAN lan ifname
- config_get WAN wan ifname
+ . /lib/functions/network.sh
+
+ network_get_physdev LAN lan || return 1
+ network_get_physdev WAN wan || return 1
config_get bridge "$section" bridge
brctl addbr $bridge
brctl addif $bridge $LAN
brctl addif $bridge $WAN
brctl setfd $bridge 0
- ebtables -t broute -A BROUTING -i $WAN -p ! ipv6 -j DROP
- ifconfig $bridge up
+
+ ebtables -t broute -A BROUTING -i $WAN -p ! ipv6 -j DROP
+ ifconfig $bridge up
}
stop_service() {
- local section="$1"
+ local section="$1"
- include /lib/network
- scan_interfaces
- config_load /var/state/network
+ . /lib/functions/network.sh
- config_get LAN lan ifname
- config_get WAN wan ifname
- config_get bridge "$section" bridge
+ network_get_physdev LAN lan || return 1
+ network_get_physdev WAN wan || return 1
+ config_get bridge "$section" bridge
+
+ ifconfig $bridge down
+ ebtables -t broute -F
- ifconfig $bridge down
- ebtables -t broute -F
- brctl delif $bridge $WAN
- brctl delif $bridge $LAN
- brctl delbr $bridge
+ brctl delif $bridge $WAN
+ brctl delif $bridge $LAN
+ brctl delbr $bridge
}
+
start() {
- if ! [ -f /proc/net/if_inet6 ]; then
- echo "IPv6 not enabled, install kmod-ipv6";
- exit 1;
- fi
- config_load "6bridge"
- config_foreach start_service 6bridge
+ if ! [ -f /proc/net/if_inet6 ]; then
+ echo "IPv6 not enabled, install kmod-ipv6";
+ exit 1
+ fi
+ config_load "6bridge"
+ config_foreach start_service 6bridge
}
-stop () {
- config_load "6bridge"
- config_foreach stop_service 6bridge
+stop() {
+ config_load "6bridge"
+ config_foreach stop_service 6bridge
}