mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
7b7242564a
The default send buffer size of 8192 potentially can run past the end of the buffer (skb) and trash memory. Explicitly setting a limit is required. (Patch by Philip Prindeville) SVN-Revision: 26242
64 lines
1.1 KiB
Bash
Executable File
64 lines
1.1 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
START=50
|
|
|
|
start_daemon() {
|
|
local cfg="$1"
|
|
|
|
local atmdev
|
|
config_get atmdev "$cfg" atmdev 0
|
|
|
|
local unit
|
|
config_get unit "$cfg" unit 0
|
|
|
|
local vpi
|
|
config_get vpi "$cfg" vpi 8
|
|
|
|
local vci
|
|
config_get vci "$cfg" vci 35
|
|
|
|
local encaps
|
|
config_get encaps "$cfg" encaps
|
|
|
|
case "$encaps" in
|
|
1|vc) encaps=1;;
|
|
*) encaps=0;;
|
|
esac
|
|
|
|
local payload
|
|
config_get payload "$cfg" payload
|
|
|
|
case "$payload" in
|
|
0|routed) payload=0;;
|
|
*) payload=1;;
|
|
esac
|
|
|
|
local qos
|
|
config_get qos "$cfg" qos
|
|
|
|
local sendsize
|
|
config_get sendsize "$cfg" sendsize
|
|
|
|
local circuit="$atmdev.$vpi.$vci"
|
|
local pid="/var/run/br2684ctl-$circuit.pid"
|
|
|
|
start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \
|
|
-c "$unit" -e "$encaps" -p "$payload" \
|
|
-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
|
|
}
|
|
|
|
start() {
|
|
insmod br2684 >/dev/null 2>/dev/null
|
|
config_load network
|
|
config_foreach start_daemon atm-bridge
|
|
}
|
|
|
|
stop() {
|
|
local pid
|
|
for pid in /var/run/br2684ctl-*.pid; do
|
|
if [ -f "$pid" ]; then
|
|
service_kill br2684ctl "$pid"
|
|
rm -f "$pid"
|
|
fi
|
|
done
|
|
}
|