add_insmod ipt_connbytes
append "$var" "-m connbytes --connbytes $value --connbytes-dir both --connbytes-mode bytes"
;;
+ *:direction)
+ value="$(echo "$value" | sed -e 's,-,:,g')"
+ if [ "$value" = "out" ]; then
+ append "$var" "-o $device"
+ elif [ "$value" = "in" ]; then
+ append "$var" "-i $device"
+ fi
+ ;;
1:pktsize)
value="$(echo "$value" | sed -e 's,-,:,g')"
add_insmod ipt_length
config_get device "$iface" device
config_get_bool enabled "$iface" enabled 1
[ -z "$device" -o 1 -ne "$enabled" ] && {
- echo "Interface '$iface' not found or disabled."
return 1
}
config_get upload "$iface" upload
for dir in up${halfduplex} ${download:+down}; do
case "$dir" in
up)
- [ "$overhead" = 1 ] && upload=$(($upload * 98 / 100 - (32 * 128 / $upload)))
+ [ "$overhead" = 1 ] && upload=$(($upload * 98 / 100 - (15 * 128 / $upload)))
dev="$device"
rate="$upload"
dl_mode=""
append down "iptables -t mangle -A POSTROUTING -o $device -j IMQ --todev $imqdev" "$N"
}
append down "iptables -t mangle -A PREROUTING -i $device -j ${cg}" "$N"
+ append down "iptables -t mangle -A POSTROUTING -o $device -j ${cg}" "$N"
append down "iptables -t mangle -A PREROUTING -i $device -j IMQ --todev $imqdev" "$N"
}
done