mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
33 lines
688 B
Plaintext
33 lines
688 B
Plaintext
|
#!/bin/sh /etc/rc.common
|
||
|
START=80
|
||
|
|
||
|
check_relay() {
|
||
|
local cfg="$1"
|
||
|
|
||
|
config_get_bool enabled "$cfg" enabled 1
|
||
|
[ "$enabled" -gt 0 ] || return
|
||
|
|
||
|
config_get dev1 "$cfg" dev1
|
||
|
config_get dev2 "$cfg" dev2
|
||
|
|
||
|
[ -d "/sys/kernel/debug/trelay/${dev1}-${dev2}" ] && return
|
||
|
[ -d "/sys/class/net/${dev1}" -a -d "/sys/class/net/${dev2}" ] || return
|
||
|
|
||
|
ifconfig "$dev1" up
|
||
|
ifconfig "$dev2" up
|
||
|
echo "${dev1}-${dev2},${dev1},${dev2}" > /sys/kernel/debug/trelay/add
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
config_load trelay
|
||
|
config_foreach check_relay trelay
|
||
|
touch /var/run/trelay.active
|
||
|
}
|
||
|
|
||
|
stop() {
|
||
|
rm -f /var/run/trelay.active
|
||
|
for relay in /sys/kernel/debug/trelay/*; do
|
||
|
[ -d "$relay" ] && echo > "$relay/remove"
|
||
|
done
|
||
|
}
|