From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4b9w4t2cZRz32qN for ; Mon, 2 Jun 2025 13:42:22 +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) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4b9w4t2LFHz2xQc for ; Mon, 2 Jun 2025 13:42:22 +0000 (UTC) Received: from people01.haj.ipfire.org (people01.haj.ipfire.org [172.28.1.161]) (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 "people01.haj.ipfire.org", Issuer "E6" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4b9w4r6YTZz2t9 for ; Mon, 2 Jun 2025 13:42:20 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1748871740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=xJ1VqW+5LgDdg9G2AnnRv3PMHzPxu8PGA2mbTQhJMK8=; b=N1v5l+ijnfxRavXyzSzfW37O8llIqmWfRDLs/XA1yV44Owmp38v0M7vuduNs8IPY5V6wrH R8MQiJHkulAxsgAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1748871740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=xJ1VqW+5LgDdg9G2AnnRv3PMHzPxu8PGA2mbTQhJMK8=; b=mAYPlEUwroqUKTbmw43scJ84f7l0nTg5AEpSf4Wl/Oxa38yWkhOjcVXpZ2XKIuZxm70DpV YiFt7JqKQk/ttaTQywdkRLCMccDUy/GxVNjyB0Yw2YpnyKx9hpJ1Wsijt0mmcY07yqawM1 wHAK4jQxIdWHSp4Dr2ykWOS1tjs3x2hNJS2FrfB7zdkPeDkVdDrMIeMWH0W8vp5BIrlKrZ JmYQlpKypv0l0KmxAY06yTUcRQkHP1j8S9gVCuUHotVCloOq4AxhYgXiBWUtoE0bwBrATf RnqWPHvxtlSP/w6fYOrxkeF9thMMu3oF7QYEpau9qKCF83GNft8TeW5eQDc6YQ== Received: by people01.haj.ipfire.org (Postfix, from userid 1000) id 4b9w4r2z0Wz2y2f; Mon, 2 Jun 2025 13:42:20 +0000 (UTC) To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. e38cf1e2cd33d19f34f0856a87e09014a7cd4f45 X-Git-Refname: refs/heads/next X-Git-Reftype: branch X-Git-Oldrev: 90efa0bd3645699224c2ccad6a83e9b9cbd87759 X-Git-Newrev: e38cf1e2cd33d19f34f0856a87e09014a7cd4f45 Message-Id: <4b9w4r2z0Wz2y2f@people01.haj.ipfire.org> Date: Mon, 2 Jun 2025 13:42:20 +0000 (UTC) From: Michael Tremer Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via e38cf1e2cd33d19f34f0856a87e09014a7cd4f45 (commit) via a5da7ef0fc9a1cf73abaa3696dcc0d9c80f07ef0 (commit) from 90efa0bd3645699224c2ccad6a83e9b9cbd87759 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e38cf1e2cd33d19f34f0856a87e09014a7cd4f45 Author: Michael Tremer Date: Sun Jun 1 14:58:28 2025 +0000 linux: Backport support for BIG TCP GSO on WireGuard Advertise GSO_MAX_SIZE as TSO max size in order support BIG TCP for wireguard. This helps to improve wireguard performance a bit when enabled as it allows wireguard to aggregate larger skbs in wg_packet_consume_data_done() via napi_gro_receive(), but also allows the stack to build larger skbs on xmit where the driver then segments them before encryption inside wg_xmit(). We've seen a 15% improvement in TCP stream performance. Signed-off-by: Michael Tremer commit a5da7ef0fc9a1cf73abaa3696dcc0d9c80f07ef0 Author: Michael Tremer Date: Sun Jun 1 14:56:26 2025 +0000 core196: Fix link to intel-microcode rootfile Signed-off-by: Michael Tremer ----------------------------------------------------------------------- Summary of changes: .../core/196/filelists/x86_64/intel-microcode | 2 +- lfs/linux | 4 +++ src/patches/linux-6.12-wireguard-big-tcp-gso.patch | 36 ++++++++++++++++++++++ ...-wireguard-device-omit-unnecessary-memset.patch | 34 ++++++++++++++++++++ 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 src/patches/linux-6.12-wireguard-big-tcp-gso.patch create mode 100644 src/patches/linux-6.12-wireguard-device-omit-unnecessary-memset.patch Difference in files: diff --git a/config/rootfiles/core/196/filelists/x86_64/intel-microcode b/config/rootfiles/core/196/filelists/x86_64/intel-microcode index e099fdbd0..d5ac074e2 120000 --- a/config/rootfiles/core/196/filelists/x86_64/intel-microcode +++ b/config/rootfiles/core/196/filelists/x86_64/intel-microcode @@ -1 +1 @@ -../../../common/x86_64/intel-microcode \ No newline at end of file +../../../../common/x86_64/intel-microcode \ No newline at end of file diff --git a/lfs/linux b/lfs/linux index f1a436c03..5fd87f5ad 100644 --- a/lfs/linux +++ b/lfs/linux @@ -134,6 +134,10 @@ ifeq "$(BUILD_ARCH)" "aarch64" endif cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-3.14.79-amba-fix.patch + # Linux 6.13 backported patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-6.12-wireguard-device-omit-unnecessary-memset.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-6.12-wireguard-big-tcp-gso.patch + # Customise the release cd $(DIR_APP) && echo "$(KVER_SUFFIX)" > localversion.10-$(SNAME) diff --git a/src/patches/linux-6.12-wireguard-big-tcp-gso.patch b/src/patches/linux-6.12-wireguard-big-tcp-gso.patch new file mode 100644 index 000000000..e6dc021d7 --- /dev/null +++ b/src/patches/linux-6.12-wireguard-big-tcp-gso.patch @@ -0,0 +1,36 @@ +From 06a34f7db773e01efa8a90c5b4d912207a80dd60 Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann +Date: Sun, 17 Nov 2024 22:20:30 +0100 +Subject: [PATCH] wireguard: device: support big tcp GSO + +Advertise GSO_MAX_SIZE as TSO max size in order support BIG TCP for wireguard. +This helps to improve wireguard performance a bit when enabled as it allows +wireguard to aggregate larger skbs in wg_packet_consume_data_done() via +napi_gro_receive(), but also allows the stack to build larger skbs on xmit +where the driver then segments them before encryption inside wg_xmit(). +We've seen a 15% improvement in TCP stream performance. + +Signed-off-by: Daniel Borkmann +Signed-off-by: Jason A. Donenfeld +Link: https://patch.msgid.link/20241117212030.629159-5-Jason@zx2c4.com +Signed-off-by: Jakub Kicinski +--- + drivers/net/wireguard/device.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/wireguard/device.c b/drivers/net/wireguard/device.c +index a2ba71fbbed46..6cf173a008e78 100644 +--- a/drivers/net/wireguard/device.c ++++ b/drivers/net/wireguard/device.c +@@ -302,6 +302,8 @@ static void wg_setup(struct net_device *dev) + /* We need to keep the dst around in case of icmp replies. */ + netif_keep_dst(dev); + ++ netif_set_tso_max_size(dev, GSO_MAX_SIZE); ++ + wg->dev = dev; + } + +-- +2.39.5 + diff --git a/src/patches/linux-6.12-wireguard-device-omit-unnecessary-memset.patch b/src/patches/linux-6.12-wireguard-device-omit-unnecessary-memset.patch new file mode 100644 index 000000000..326d91f44 --- /dev/null +++ b/src/patches/linux-6.12-wireguard-device-omit-unnecessary-memset.patch @@ -0,0 +1,34 @@ +From 2c862914fbcf85609147401ea8674ae9a9e3b8cc Mon Sep 17 00:00:00 2001 +From: Tobias Klauser +Date: Sun, 17 Nov 2024 22:20:27 +0100 +Subject: [PATCH] wireguard: device: omit unnecessary memset of netdev private + data + +The memory for netdev_priv is allocated using kvzalloc in +alloc_netdev_mqs before rtnl_link_ops->setup is called so there is no +need to zero it again in wg_setup. + +Signed-off-by: Tobias Klauser +Reviewed-by: Simon Horman +Signed-off-by: Jason A. Donenfeld +Link: https://patch.msgid.link/20241117212030.629159-2-Jason@zx2c4.com +Signed-off-by: Jakub Kicinski +--- + drivers/net/wireguard/device.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/drivers/net/wireguard/device.c b/drivers/net/wireguard/device.c +index 45e9b908dbfb0..a2ba71fbbed46 100644 +--- a/drivers/net/wireguard/device.c ++++ b/drivers/net/wireguard/device.c +@@ -302,7 +302,6 @@ static void wg_setup(struct net_device *dev) + /* We need to keep the dst around in case of icmp replies. */ + netif_keep_dst(dev); + +- memset(wg, 0, sizeof(*wg)); + wg->dev = dev; + } + +-- +2.39.5 + hooks/post-receive -- IPFire 2.x development tree