Commit Graph

82 Commits

Author SHA1 Message Date
Michael Tremer
d704e75d75 QoS: Do no classify as default when L7 filter isn't done
We need to allow some more packets to pass through the
mangle chains so that the layer 7 filter can determine
what protocol it finds.

If L7 filter decides that a connection is of type "unknown",
we mark it as default, or it is marked with the correct class.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-22 15:57:01 +00:00
Michael Tremer
615bf6e0f0 QoS: Delete more unused iptables commands
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:36 +00:00
Michael Tremer
76bf53db8b QoS: Drop support for setting TOS bits per class
This is useless since no ISP will evaluate those settings
any more and it has a rather large impact on throughput.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:31 +00:00
Michael Tremer
6f07564242 QoS: No longer set TOS bits for ACK packets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:29 +00:00
Michael Tremer
1e35eeac59 QoS: Remove some IPsec rules which never worked
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:25 +00:00
Michael Tremer
fc09b98296 QoS: Classify incoming traffic in PREROUTING
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:23 +00:00
Daniel Weismüller
4b5aa97393 QoS: Use CONNMARK to mark connections in connection tracking
This patch modifies the connection tracking in that ways that
it sets a connection mark which will be retrieved when a packet
is being redirected to the IFB interface.

This way, we can use classification without having the packet
being sent through iptables first.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:20 +00:00
Michael Tremer
7d770777e0 Revert "Make IMQ Switchable between PREROUTING and POSTROUTING"
This reverts commit 88b8ffac6b.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:14 +00:00
Michael Tremer
afe23fbb52 QoS: Drop support for subclasses
This feature was never properly implemented and the UI was dead

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:12 +00:00
Michael Tremer
8d6b654369 QoS: Suppress an error message when cleaning up from previous runs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:10 +00:00
Michael Tremer
50ed363e89 QoS: Do not delete egress qdisc after classes have been created
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:58:06 +00:00
Michael Tremer
677c1f47d7 QoS: Start qosd immediately
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:57:59 +00:00
Michael Tremer
96f16b8501 QoS: Tidy up qdiscs after QoS is being stopped
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:57:53 +00:00
Michael Tremer
0dfb3984d0 QoS: Use Intermediate Functional Block
This is an alternative implementation to the Intermediate Queuing
Device (IMQ) which is an out-of-tree kernel patch and has been
criticised for being slow, especially with mutliple processors.

IFB is part of the mainline kernel and a lot less code.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:57:41 +00:00
Michael Tremer
c37af2f004 QoS: Do not manually load iptables modules
This should not be necessary and causes the script to
wait for two seconds.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-21 18:57:14 +00:00
Arne Fitzenreiter
fb41342122 Revert "QoS: Do not manually load iptables modules"
This reverts commit cae6916d59.
2019-10-20 20:25:24 +00:00
Arne Fitzenreiter
bd122644e4 Revert "QoS: Use Intermediate Functional Block"
This reverts commit 3c33d9d854.
2019-10-20 20:24:43 +00:00
Arne Fitzenreiter
707e0471ce Revert "Revert "Make IMQ Switchable between PREROUTING and POSTROUTING""
This reverts commit ec01ebe246.
2019-10-20 20:24:16 +00:00
Arne Fitzenreiter
5e661eb533 Revert "QoS: Tidy up qdiscs after QoS is being stopped"
This reverts commit eedf7b06c0.
2019-10-20 20:23:54 +00:00
Arne Fitzenreiter
005fc8ed5d Revert "QoS: Process incoming packets in PREROUTING only"
This reverts commit e6341c5856.
2019-10-20 20:23:13 +00:00
Arne Fitzenreiter
d7297c477a Revert "QoS: Do not delete egress qdisc after classes have been created"
This reverts commit 39ff91ecf8.
2019-10-20 20:21:53 +00:00
Arne Fitzenreiter
fb8d7759b8 Revert "QoS: Start qosd immediately"
This reverts commit 6a9bcd6c1d.
2019-10-20 20:21:23 +00:00
Arne Fitzenreiter
fc08e632e3 Revert "QoS: Suppress an error message when cleaning up from previous runs"
This reverts commit cebad6e2b9.
2019-10-20 20:19:58 +00:00
Arne Fitzenreiter
896f24cc58 Revert "QoS: Move packet classification to FORWARD chain for ingress"
This reverts commit 424a332fd3.
2019-10-20 20:19:21 +00:00
Arne Fitzenreiter
323900264f Revert "QoS: Use CLASSIFY iptables target instead of MARK"
This reverts commit 3e151d19f9.
2019-10-20 20:18:56 +00:00
Arne Fitzenreiter
bebc33813a Revert "QoS: Drop tc filter rules to move marked packets into the correct class"
This reverts commit 63f7d7475e.
2019-10-20 20:18:34 +00:00
Arne Fitzenreiter
50e97cd55f Revert "QoS: Drop support for subclasses"
This reverts commit bc4d4da870.
2019-10-20 20:18:00 +00:00
Arne Fitzenreiter
6aeaa3a75e Revert "QoS: Drop support for setting TOS bits per class"
This reverts commit 3174d9c6b6.
2019-10-20 20:17:18 +00:00
Arne Fitzenreiter
ac45e4f3e9 Revert "QoS: No longer set TOS bits for ACK packets"
This reverts commit b1c695e872.
2019-10-20 20:16:05 +00:00
Michael Tremer
d33ad4bdfe QoS: Increase queue size and quantum for fq_codel
This optimises the QoS to process more bandwidth.

The limit variable sets the maximum number of packets in the
queue which was regularly exceeded on fast connections with
the old setting. This now allows up to 10G of data transfer
and is set to the default of fq_codel.

Quantum sets how many bytes can be read from the queue per
iteration. This is now set to the default again, which is
the size of an Ethernet frame including its header.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:05:21 +00:00
Michael Tremer
b1c695e872 QoS: No longer set TOS bits for ACK packets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:05:06 +00:00
Michael Tremer
3174d9c6b6 QoS: Drop support for setting TOS bits per class
This is useless since no ISP will evaluate those settings
any more and it has a rather large impact on throughput.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:04:53 +00:00
Michael Tremer
bc4d4da870 QoS: Drop support for subclasses
This feature was never properly implemented and the UI was dead

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:04:39 +00:00
Michael Tremer
63f7d7475e QoS: Drop tc filter rules to move marked packets into the correct class
This is no longer necessary since we are now using CLASSIFY

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:03:59 +00:00
Michael Tremer
3e151d19f9 QoS: Use CLASSIFY iptables target instead of MARK
We have been running into loads of conflicts by using MARK for
various components on the OS (suricata, IPsec, QoS, ...) which
was sometimes hard to resolve.

iptables comes with a target which directly sorts packets into
the correct class which results in less code and not using the
mark.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:03:44 +00:00
Michael Tremer
424a332fd3 QoS: Move packet classification to FORWARD chain for ingress
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:03:32 +00:00
Michael Tremer
cebad6e2b9 QoS: Suppress an error message when cleaning up from previous runs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:03:20 +00:00
Michael Tremer
6a9bcd6c1d QoS: Start qosd immediately
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:02:28 +00:00
Michael Tremer
39ff91ecf8 QoS: Do not delete egress qdisc after classes have been created
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:02:07 +00:00
Michael Tremer
607365bccb QoS: Silence RRD tool warnings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:01:50 +00:00
Michael Tremer
e6341c5856 QoS: Process incoming packets in PREROUTING only
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:01:37 +00:00
Michael Tremer
eedf7b06c0 QoS: Tidy up qdiscs after QoS is being stopped
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:01:18 +00:00
Michael Tremer
ec01ebe246 Revert "Make IMQ Switchable between PREROUTING and POSTROUTING"
This reverts commit 88b8ffac6b.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:01:06 +00:00
Michael Tremer
3c33d9d854 QoS: Use Intermediate Functional Block
This is an alternative implementation to the Intermediate Queuing
Device (IMQ) which is an out-of-tree kernel patch and has been
criticised for being slow, especially with mutliple processors.

IFB is part of the mainline kernel and a lot less code.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:00:51 +00:00
Michael Tremer
cae6916d59 QoS: Do not manually load iptables modules
This should not be necessary and causes the script to
wait for two seconds.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 18:00:33 +00:00
Arne Fitzenreiter
302dba205b Merge remote-tracking branch 'origin/master' into kernel-4.14 2018-03-30 10:26:01 +02:00
Matthias Fischer
be7878d5c9 Fix typo in 'makeqosscripts.pl'
Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-03-26 19:03:30 +01:00
Arne Fitzenreiter
b389d73110 Merge branch 'master' into kernel-4.9
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2017-07-09 12:47:16 +02:00
Michael Tremer
b3ee263b07 QoS: Enable IMQ multi queueing
This increases throughput when QoS is activated
since now all available CPU cores will be used

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-04-06 19:12:06 +01:00
Arne Fitzenreiter
4d818afc5d QoS: move layer7 unspec match to PREROUTING
in POSTROUTING it not get the local answerpackets.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2017-03-12 14:45:23 +01:00