remove a warning that has confused a few people
[openwrt/openwrt.git] / package / qos-scripts / files / usr / lib / qos / generate.sh
index a3c9f175c94eb2060c3f40ef2fdd4f76d9249895..a531e289812d8097a862f023cde7cb7321695ba7 100755 (executable)
@@ -111,6 +111,19 @@ parse_matching_rule() {
                                esac
                                ports=1
                        ;;
+                       *:connbytes)
+                               value="$(echo "$value" | sed -e 's,-,:,g')"
+                               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
@@ -234,7 +247,6 @@ start_interface() {
        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
@@ -248,7 +260,7 @@ start_interface() {
        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=""
@@ -352,6 +364,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