From nobody Sun Apr 26 08:23:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3KTC4j2rz6bFZd for ; Sun, 26 Apr 2026 08:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3KTC1KFXz49QG for ; Sun, 26 Apr 2026 08:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777191791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMouzpV1KJSSbdK82xrABF1B1OcQFIgmx/4QTvmDtys=; b=b9Bly7/YkvUZ3WLU1UZzzrqCQeUMG3ikh3nGTlRt0U1xlJ6vkZ4uHMbZLRAswLkY90K/Zu dUHQPH8LHLohhqXWGvhBVm2FeuFHA52TjAfsjU51Uegj2HM+1WZOxQcHNVLcRUcfZisSdI etSgiRaNFx09wLCOeQaW4oIcZy/5Rq024tdG3sMOsX2fXMgKXiVqN4K0YANrj3HXWZecLL Rvs7qzjAhtgusWS0hAO6F+ipnHagUS7yLnXrlXbMLAHqZTDrK1TRF15hQ4JvPGCM8vyAO9 STziDnZUDA3KOMG2b/SUBPGu3P08mZ0d3zrTPMO93KMPW89m7XyWgEcfUSwYOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777191791; a=rsa-sha256; cv=none; b=ae/d4peDJkfDxCVnOUbp0ZIJJ2jrCdPPi1cwTCXJiSQPxXEhlVES8j03xB57iBSPDoe2TX vtwxGS5xIq7ivwa2uJCO954tfLMiCeyefCpGW+URZFinQt4/rA20Sgujre3PX5Xqxshb4G W/+5G34iQ7Btqw7Yj54uebS5p7S502oolwK0qUOoa84cqH8uMNmE6RfQTzDFxvbi3c8fOX hsDdeWjhHCSQ9AHkuswC3Ba7TyIn7kskaEQDAdMiHQ+DWrD3lDFxd1FIb+kjfx5wgT4AI1 X8TPHI4geflowTh+WlJKR//59CE9WGjXmDgg1A6GLa0/UyOJtRiWHa8iSCLatw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777191791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMouzpV1KJSSbdK82xrABF1B1OcQFIgmx/4QTvmDtys=; b=DWUzPr0pKycnI7in6ZtB8CTDB0fWuS2/dpUmfC30AvELMl3/DWlU9I6nH/njIxEDSp9wCJ vxeRw3+sMH1h+iIxTfpoWFHIW4BwTNL+UHaSEaiHodscHMYWybZpZaMD3yU4V+WIreDCQF zM1HQh5TeyAV9k9WdkUFXQjnDwI7B8B9tk00SAHMY+bxJLaDgGOmolp7QhqwZHZqmx+pAQ BsP4lhRGwr8srG0367YTKO2CBpEy4VvAcw86UGkKRKUQEhxzPZBzgTTP0Zmod/SbOq1X6n qJBpmXDss4Uq6D6CsX+eszZCdMuFlBMoTg4nlx8PKUKw5f3EB9A+APklX6kldA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3KTC0wt5z1B0X for ; Sun, 26 Apr 2026 08:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30bb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 26 Apr 2026 08:23:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: a0a0fa1dd922 - stable/14 - ure: improve checksum offloading List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a0a0fa1dd92289d3b7b5336c409303662a7ec7fa Auto-Submitted: auto-generated Date: Sun, 26 Apr 2026 08:23:11 +0000 Message-Id: <69edcb6f.30bb7.50c08988@gitrepo.freebsd.org> The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a0a0fa1dd92289d3b7b5336c409303662a7ec7fa commit a0a0fa1dd92289d3b7b5336c409303662a7ec7fa Author: Michael Tuexen AuthorDate: 2026-01-31 10:42:10 +0000 Commit: Michael Tuexen CommitDate: 2026-04-26 06:21:44 +0000 ure: improve checksum offloading This patch fixes three issues: (1) Initially, set the hwassist flags correctly when enabling transmit checksum offload for TCP/IPv6 and UDP/IPv6. (2) Keep the hwassist flags in sync with the capabilities when changing txcsum. (3) Keep the hwasssit flags in sync with the capabilities when changing txcsum6. Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum. Reviewed by: Timo Völker Differential Revision: https://reviews.freebsd.org/D54974 Event: Wiesbaden Hackathon 2026 (cherry picked from commit 7b6e84c9ac5668134ab2d075019ef0b827d90c84) --- sys/dev/usb/net/if_ure.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/usb/net/if_ure.c b/sys/dev/usb/net/if_ure.c index b0ddd8af7285..e6b101587421 100644 --- a/sys/dev/usb/net/if_ure.c +++ b/sys/dev/usb/net/if_ure.c @@ -1011,6 +1011,7 @@ ure_attach_post_sub(struct usb_ether *ue) if_sethwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); #ifdef INET6 if_setcapabilitiesbit(ifp, IFCAP_HWCSUM_IPV6, 0); + if_sethwassistbits(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP, 0); #endif if_setcapenable(ifp, if_getcapabilities(ifp)); @@ -1459,6 +1460,7 @@ ure_ioctl(if_t ifp, u_long cmd, caddr_t data) if ((mask & IFCAP_TXCSUM) != 0 && (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { if_togglecapenable(ifp, IFCAP_TXCSUM); + if_togglehwassist(ifp, CSUM_IP|CSUM_IP_UDP|CSUM_IP_TCP); } if ((mask & IFCAP_RXCSUM) != 0 && (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { @@ -1467,6 +1469,7 @@ ure_ioctl(if_t ifp, u_long cmd, caddr_t data) if ((mask & IFCAP_TXCSUM_IPV6) != 0 && (if_getcapabilities(ifp) & IFCAP_TXCSUM_IPV6) != 0) { if_togglecapenable(ifp, IFCAP_TXCSUM_IPV6); + if_togglehwassist(ifp, CSUM_IP6_UDP|CSUM_IP6_TCP); } if ((mask & IFCAP_RXCSUM_IPV6) != 0 && (if_getcapabilities(ifp) & IFCAP_RXCSUM_IPV6) != 0) {