]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Change QOS of incoming traffic to match local Nat IP Addresses
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 10 Feb 2009 06:58:32 +0000 (07:58 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 10 Feb 2009 06:58:32 +0000 (07:58 +0100)
config/qos/makeqosscripts.pl
config/rootfiles/core/27/files
config/rootfiles/core/27/update.sh

index 6b0afd3e65f1a5b274748372a83a76143d1141f3..dc31c5acad62efec83315b42005fcd0de75759ad 100644 (file)
@@ -502,9 +502,9 @@ print <<END
 
        ### ADD QOS-INC CHAIN TO THE MANGLE TABLE IN IPTABLES
        iptables -t mangle -N QOS-INC
-       iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -j IMQ --todev 0
-       iptables -t mangle -I PREROUTING -i $qossettings{'RED_DEV'} -j QOS-INC
-       iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -j QOS-TOS
+       iptables -t mangle -A POSTROUTING -m mark ! --mark 0 -o ! $qossettings{'RED_DEV'} -j IMQ --todev 0
+       iptables -t mangle -A FORWARD -i $qossettings{'RED_DEV'} -j QOS-INC
+       iptables -t mangle -i FORWARD -i $qossettings{'RED_DEV'} -j QOS-TOS
 
        ### SET TOS
 END
@@ -655,15 +655,15 @@ print <<END
        tc qdisc del dev $qossettings{'IMQ_DEV'} root >/dev/null 2>&1
        # STOP IMQ-DEVICE
        ip link set $qossettings{'IMQ_DEV'} down >/dev/null 2>&1
-       iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -j IMQ --todev 0 >/dev/null 2>&1
+       iptables -t mangle --delete POSTROUTING -m mark ! --mark 0 -o ! $qossettings{'RED_DEV'} -j IMQ --todev 0
        # rmmod imq # this crash on 2.6.25.xx
        # REMOVE & FLUSH CHAINS
        iptables -t mangle --delete POSTROUTING -o $qossettings{'RED_DEV'} -j QOS-OUT >/dev/null 2>&1
        iptables -t mangle --delete POSTROUTING -o $qossettings{'RED_DEV'} -j QOS-TOS >/dev/null 2>&1
        iptables -t mangle --flush  QOS-OUT >/dev/null 2>&1
        iptables -t mangle --delete-chain QOS-OUT >/dev/null 2>&1
-       iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -j QOS-INC >/dev/null 2>&1
-       iptables -t mangle --delete PREROUTING -i $qossettings{'RED_DEV'} -j QOS-TOS >/dev/null 2>&1
+       iptables -t mangle --delete FORWARD -i $qossettings{'RED_DEV'} -j QOS-INC
+       iptables -t mangle --delete FORWARD -i $qossettings{'RED_DEV'} -j QOS-TOS
        iptables -t mangle --flush  QOS-INC >/dev/null 2>&1
        iptables -t mangle --delete-chain QOS-INC >/dev/null 2>&1
        iptables -t mangle --flush  QOS-TOS >/dev/null 2>&1
index 28b9521d0ef4d9b921a2f134dab387d9b338fae7..6accc6767ffa0909c70fb94888ecec74ce5373ce 100644 (file)
@@ -27,3 +27,5 @@ var/ipfire/updatexlrator/updxlrator-lib.pl
 srv/web/ipfire/cgi-bin/proxy.cgi
 srv/web/ipfire/cgi-bin/updatexlrator.cgi
 var/ipfire/langs
+lib/modules/2.6.25.19-ipfire/kernel/drivers/net/imq.ko
+var/ipfire/qos/bin/makeqosscripts.pl
index 35600116f61e95a580cd1aef9e4b01c22fa9210b..c8e847c3c4daa5e7942d54048666ed86ededa517 100644 (file)
@@ -2,6 +2,9 @@
 . /opt/pakfire/lib/functions.sh
 /usr/local/bin/backupctrl exclude >/dev/null 2>&1
 extract_files
+[ -e /var/ipfire/qos/enable ] && qosctrl stop
+qosctrl generate
+[ -e /var/ipfire/qos/enable ] && qosctrl start
 perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
 sysctl -p
 /etc/init.d/squid restart