summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-11 16:32:38 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-11 16:32:38 +0000
commitc9c60d5d8c09c1cf7daed58a49bf9e275ecf79f8 (patch)
treed6d9f399f0ca40b248c5d20cbd8713c84eb2f2c3
parent60e51cd89c1df302125892620c01d31dc637df75 (diff)
add direction matching patch for qos-scripts from #1708
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7571 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/qos-scripts/files/usr/lib/qos/generate.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/package/qos-scripts/files/usr/lib/qos/generate.sh b/package/qos-scripts/files/usr/lib/qos/generate.sh
index 9181d0b6f3..844bd70f9a 100755
--- a/package/qos-scripts/files/usr/lib/qos/generate.sh
+++ b/package/qos-scripts/files/usr/lib/qos/generate.sh
@@ -116,6 +116,14 @@ parse_matching_rule() {
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
@@ -357,6 +365,7 @@ start_cg() {
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