mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 03:33:25 +02:00
Revert "Revert "Make IMQ Switchable between PREROUTING and POSTROUTING""
This reverts commit ec01ebe246.
This commit is contained in:
@@ -75,6 +75,7 @@ $qossettings{'RED_DEV'} = `cat /var/ipfire/red/iface`;
|
|||||||
$qossettings{'IMQ_DEV'} = 'imq0';
|
$qossettings{'IMQ_DEV'} = 'imq0';
|
||||||
$qossettings{'TOS'} = '';
|
$qossettings{'TOS'} = '';
|
||||||
$qossettings{'VALID'} = 'yes';
|
$qossettings{'VALID'} = 'yes';
|
||||||
|
$qossettings{'IMQ_MODE'} = 'PREROUTING';
|
||||||
|
|
||||||
&General::readhash("${General::swroot}/qos/settings", \%qossettings);
|
&General::readhash("${General::swroot}/qos/settings", \%qossettings);
|
||||||
|
|
||||||
@@ -511,6 +512,9 @@ foreach $subclassentry (sort @subclasses) {
|
|||||||
print "\ttc filter add dev $qossettings{'DEVICE'} parent 2:0 prio 0 protocol ip handle $qossettings{'SCLASS'} fw flowid 2:$qossettings{'SCLASS'}\n";
|
print "\ttc filter add dev $qossettings{'DEVICE'} parent 2:0 prio 0 protocol ip handle $qossettings{'SCLASS'} fw flowid 2:$qossettings{'SCLASS'}\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( $qossettings{'IMQ_MODE'} eq 'POSTROUTING' )
|
||||||
|
{
|
||||||
print <<END
|
print <<END
|
||||||
|
|
||||||
### ADD QOS-INC CHAIN TO THE MANGLE TABLE IN IPTABLES
|
### ADD QOS-INC CHAIN TO THE MANGLE TABLE IN IPTABLES
|
||||||
@@ -524,6 +528,24 @@ print <<END
|
|||||||
### SET TOS
|
### SET TOS
|
||||||
END
|
END
|
||||||
;
|
;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
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'} -p ah -j RETURN
|
||||||
|
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -p esp -j RETURN
|
||||||
|
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -p ip -j RETURN
|
||||||
|
iptables -t mangle -I PREROUTING -i $qossettings{'RED_DEV'} -j QOS-INC
|
||||||
|
iptables -t mangle -A PREROUTING -i $qossettings{'RED_DEV'} -j QOS-TOS
|
||||||
|
|
||||||
|
### SET TOS
|
||||||
|
END
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
foreach $tosruleentry (sort @tosrules)
|
foreach $tosruleentry (sort @tosrules)
|
||||||
{
|
{
|
||||||
@tosruleline = split( /\;/, $tosruleentry );
|
@tosruleline = split( /\;/, $tosruleentry );
|
||||||
@@ -688,8 +710,10 @@ print <<END
|
|||||||
iptables -t mangle --delete POSTROUTING -o $qossettings{'RED_DEV'} -j QOS-TOS >/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 --flush QOS-OUT >/dev/null 2>&1
|
||||||
iptables -t mangle --delete-chain QOS-OUT >/dev/null 2>&1
|
iptables -t mangle --delete-chain QOS-OUT >/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-INC >/dev/null 2>&1
|
||||||
iptables -t mangle --delete FORWARD -i $qossettings{'RED_DEV'} -j QOS-TOS
|
iptables -t mangle --delete FORWARD -i $qossettings{'RED_DEV'} -j QOS-TOS >/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 --flush QOS-INC >/dev/null 2>&1
|
iptables -t mangle --flush QOS-INC >/dev/null 2>&1
|
||||||
iptables -t mangle --delete-chain 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
|
iptables -t mangle --flush QOS-TOS >/dev/null 2>&1
|
||||||
|
|||||||
Reference in New Issue
Block a user