qos-scripts: fix insmod commands

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43562
This commit is contained in:
Felix Fietkau 2014-12-08 12:03:47 +00:00
parent 4a4b6fc2ba
commit 62c33d9f62

View File

@ -115,7 +115,7 @@ parse_matching_rule() {
;; ;;
*:connbytes) *:connbytes)
value="$(echo "$value" | sed -e 's,-,:,g')" value="$(echo "$value" | sed -e 's,-,:,g')"
add_insmod ipt_connbytes add_insmod xt_connbytes
append "$var" "-m connbytes --connbytes $value --connbytes-dir both --connbytes-mode bytes" append "$var" "-m connbytes --connbytes $value --connbytes-dir both --connbytes-mode bytes"
;; ;;
*:comment) *:comment)
@ -123,14 +123,14 @@ parse_matching_rule() {
append "$var" "-m comment --comment '$value'" append "$var" "-m comment --comment '$value'"
;; ;;
*:tos) *:tos)
add_insmod ipt_tos add_insmod xt_dscp
case "$value" in case "$value" in
!*) append "$var" "-m tos ! --tos $value";; !*) append "$var" "-m tos ! --tos $value";;
*) append "$var" "-m tos --tos $value" *) append "$var" "-m tos --tos $value"
esac esac
;; ;;
*:dscp) *:dscp)
add_insmod ipt_dscp add_insmod xt_dscp
dscp_option="--dscp" dscp_option="--dscp"
[ -z "${value%%[EBCA]*}" ] && dscp_option="--dscp-class" [ -z "${value%%[EBCA]*}" ] && dscp_option="--dscp-class"
case "$value" in case "$value" in
@ -148,11 +148,11 @@ parse_matching_rule() {
;; ;;
1:pktsize) 1:pktsize)
value="$(echo "$value" | sed -e 's,-,:,g')" value="$(echo "$value" | sed -e 's,-,:,g')"
add_insmod ipt_length add_insmod xt_length
append "$var" "-m length --length $value" append "$var" "-m length --length $value"
;; ;;
1:limit) 1:limit)
add_insmod ipt_limit add_insmod xt_limit
append "$var" "-m limit --limit $value" append "$var" "-m limit --limit $value"
;; ;;
1:tcpflags) 1:tcpflags)
@ -170,12 +170,12 @@ parse_matching_rule() {
esac esac
;; ;;
1:TOS) 1:TOS)
add_insmod ipt_TOS add_insmod xt_DSCP
config_get TOS "$rule" 'TOS' config_get TOS "$rule" 'TOS'
suffix="-j TOS --set-tos "${TOS:-"Normal-Service"} suffix="-j TOS --set-tos "${TOS:-"Normal-Service"}
;; ;;
1:DSCP) 1:DSCP)
add_insmod ipt_DSCP add_insmod xt_DSCP
config_get DSCP "$rule" 'DSCP' config_get DSCP "$rule" 'DSCP'
[ -z "${DSCP%%[EBCA]*}" ] && set_value="--set-dscp-class $DSCP" \ [ -z "${DSCP%%[EBCA]*}" ] && set_value="--set-dscp-class $DSCP" \
|| set_value="--set-dscp $DSCP" || set_value="--set-dscp $DSCP"
@ -384,7 +384,7 @@ add_rules() {
## If we want to override the TOS field, let's clear the DSCP field first. ## If we want to override the TOS field, let's clear the DSCP field first.
[ ! -z "$(echo $options | grep 'TOS')" ] && { [ ! -z "$(echo $options | grep 'TOS')" ] && {
s_options=${options%%TOS} s_options=${options%%TOS}
add_insmod ipt_DSCP add_insmod xt_DSCP
parse_matching_rule iptrule "$rule" "$s_options" "$prefix" "-j DSCP --set-dscp 0" parse_matching_rule iptrule "$rule" "$s_options" "$prefix" "-j DSCP --set-dscp 0"
append "$var" "$iptrule" "$N" append "$var" "$iptrule" "$N"
unset iptrule unset iptrule
@ -408,7 +408,7 @@ start_cg() {
config_get mark "$class" classnr config_get mark "$class" classnr
config_get maxsize "$class" maxsize config_get maxsize "$class" maxsize
[ -z "$maxsize" -o -z "$mark" ] || { [ -z "$maxsize" -o -z "$mark" ] || {
add_insmod ipt_length add_insmod xt_length
append pktrules "iptables -t mangle -A qos_${cg} -m mark --mark $mark/0x0f -m length --length $maxsize: -j MARK --set-mark 0/0xff" "$N" append pktrules "iptables -t mangle -A qos_${cg} -m mark --mark $mark/0x0f -m length --length $maxsize: -j MARK --set-mark 0/0xff" "$N"
} }
done done
@ -439,8 +439,8 @@ EOF
} }
start_firewall() { start_firewall() {
add_insmod ipt_multiport add_insmod xt_multiport
add_insmod ipt_CONNMARK add_insmod xt_CONNMARK
stop_firewall stop_firewall
for group in $CG; do for group in $CG; do
start_cg $group start_cg $group