We have defaulted to CAKE for all devices that quality. That has however
resulted in worse network quality as some devices could not provide the
compute power necessary for CAKE. There are however only very few
benefits to run an unconfigured CAKE.
This patch changes this back to fq_codel which is computationally
cheaper and should deliver 99% of the throughput that CAKE does. This is
presumably the better trade-off.
We don't use fq_codel on wireless devices since the kernel is running
this for each client. It would have been nice to only apply this to
wireless interfaces in AP mode, but I cannot find a way to tell the
difference with asking NETLINK.
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
---
config/udev/network-aqm | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/config/udev/network-aqm b/config/udev/network-aqm
index a11fc5c50..36355cfc6 100644
--- a/config/udev/network-aqm
+++ b/config/udev/network-aqm
@@ -39,6 +39,10 @@ case "${ACTION}" in
# Detect bridges
if [ -d "/sys/class/net/${INTERFACE}/bridge" ]; then
TYPE="bridge"
+
+ # Detect wireless interfaces
+ elif [ -d "/sys/class/net/${INTERFACE}/phy80211" ]; then
+ TYPE="wireless"
fi
args=()
@@ -65,6 +69,11 @@ case "${ACTION}" in
exit 0
;;
+ # Ignore wireless interfaces
+ *,wireless)
+ exit 0
+ ;;
+
# Ignore IMQ/IFB
imq*,*|ifb*,*)
exit 0
@@ -75,14 +84,9 @@ case "${ACTION}" in
args+=( "cake" "internet" "conservative" "ack-filter" )
;;
- # Treat any other interfaces as "Ethernet"
- red*,*)
- args+=( "cake" "internet" "ethernet" )
- ;;
-
# All other interfaces are locally connected
*)
- args+=( "cake" "ethernet" "metro" )
+ args+=( "fq_codel" )
;;
esac
--
2.39.2