From patchwork Mon Aug 19 18:16:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 8037 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4Wngm46WYqz3x41 for ; Mon, 19 Aug 2024 18:16:52 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4Wngm16sm4z1WD; Mon, 19 Aug 2024 18:16:49 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4Wngm14dylz33xN; Mon, 19 Aug 2024 18:16:49 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4Wngly6jPJz33t4 for ; Mon, 19 Aug 2024 18:16:46 +0000 (UTC) Received: from michael.haj.ipfire.org (michael.haj.ipfire.org [172.28.1.242]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "michael.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4Wngly2Pl5zmw; Mon, 19 Aug 2024 18:16:46 +0000 (UTC) Received: by michael.haj.ipfire.org (Postfix, from userid 0) id 4Wngly18gXzThH8; Mon, 19 Aug 2024 18:16:46 +0000 (UTC) From: Michael Tremer To: development@lists.ipfire.org Subject: [PATCH] AQM: Revert back to only use fq_codel by default Date: Mon, 19 Aug 2024 18:16:45 +0000 Message-Id: <20240819181645.1400363-1-michael.tremer@ipfire.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Message-ID-Hash: UG3I52RSAMRKHPDJQOA25PLL7JDALZ26 X-Message-ID-Hash: UG3I52RSAMRKHPDJQOA25PLL7JDALZ26 X-MailFrom: root@michael.haj.ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Michael Tremer X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 --- 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