From nobody Sun Feb 8 20:16:33 2026 X-Original-To: dev-commits-src-main@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 4f8Jxy2pDMz6Rhdr for ; Sun, 08 Feb 2026 20:16:38 +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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8Jxy0qbdz4Fgk for ; Sun, 08 Feb 2026 20:16:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770581798; 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=XfkJy+LTo4HaoDTH0AmrRLe1YWYFBOvqEAbBHpUroAY=; b=LqwlKiaqNd3AONdIpKUW6vUsrpd+wcKhhRFXZILaBdl/Aau0vYiiV1vKmTz8LPP6N8cACr mEyvt7ETgLF8SWwlIyI0DnTExGa5VnS85AD+3Vh2IEjgT7boTFguJdU2C7e+HCTre5GNAo crALP56dBX6iYeuaFEJ0hcui8seNH1wZ0u28fSPowzk0HTKj3IPdKlKyrOskzNtIZf7VvB xWhpGhJCaIPPU207+TNBAcs6Bo+xupXKaPK1EY4fbyN3mv4c3R9gxT2jOAZS75CIeLKxDj 0m0+V1QlHU8sF60zbym97DH787Jv2YFJ9j/ovSEbtisipTVm0OeUqhu3RG28Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770581798; a=rsa-sha256; cv=none; b=Yxp/V0DP2d5HCqOQwk8UbqQ0JQ4tIkaD1sTReRnckrE5ffvPh1xXh8RD5MTKmSlT62oafV zSfdyMWNRohAgFlQB32jEb54tqX0htCjCUDdNJZMR8LhoRzVDTVNNO1L+HglIRU079+NZ7 34bn7B273Fm+dPVFeoKxf/XsvpaTAc7BN0mImXNkdRE8ZskZFOsMegxCQPx/E4DNJCM5Mo pN2NpCJkEWm0Y/YZgbcuiYQyf8Y9/mGet7kGG2+TeRh9eQ/R7adDMt9plCc8pVFDfhNG03 yV/7mqnYgJa1q+p6ZwnYF0cxi0h/wyMBIMMs9g8xn5sDP3grvhubr/nYEOPUTQ== 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=1770581798; 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=XfkJy+LTo4HaoDTH0AmrRLe1YWYFBOvqEAbBHpUroAY=; b=wjHDZwQCkL1FoyCUi1XrxrBewU+l1kGDIgpBnMRS2dQTVQg6zFBN0iGVtzk98Yksnprn5n 89GSUFHEiHqy93kDu34ZAA5vqMBbARtnbD99wR+ubIntKX0HJNlMTXUgEwWg+Yr5XE3o8r JehuY3oNOKO5W/+58RMd8u/fl2Piv2c0DzQM8WrODRYxyu40OhdTbazZl7gI/D+vieiLKh gRUGjaFo4D69yJYfc0SYO9fe0q/mMQqNHaAfRByq+sC5JJSjtRuq86HF6wMu1mfXPr3B4t 8pEAa8rjLT/Swzyeo+lDKs3GSIGHu93H6GjTD3tb0btU9yDY4nqFfwnsLntmoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8Jxs0Pcgz11m2 for ; Sun, 08 Feb 2026 20:16:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e6ef by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 20:16:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 7266121ce985 - main - ure: improve transmit checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 7266121ce985a1a895441357c20b0e9d56b4e5f5 Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 20:16:33 +0000 Message-Id: <6988ef21.3e6ef.54b19aac@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7266121ce985a1a895441357c20b0e9d56b4e5f5 commit 7266121ce985a1a895441357c20b0e9d56b4e5f5 Author: Michael Tuexen AuthorDate: 2026-02-08 20:11:18 +0000 Commit: Michael Tuexen CommitDate: 2026-02-08 20:16:20 +0000 ure: improve transmit checksum offloading Apparently, the name of the variable l4off was correct. Providing the offset to the TCP or UDP header allows the transmit checksum offload to work for TCP/IPv4, TCP/IPv6, UDP/IPv4, and UDP/IPv6. Reported by: vishwin Reviewed by: vishwin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55187 --- sys/dev/usb/net/if_ure.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/dev/usb/net/if_ure.c b/sys/dev/usb/net/if_ure.c index 3dea88eb10f1..92160fe9b1d2 100644 --- a/sys/dev/usb/net/if_ure.c +++ b/sys/dev/usb/net/if_ure.c @@ -24,6 +24,8 @@ * SUCH DAMAGE. */ +#include "opt_inet6.h" + #include #include #include @@ -44,6 +46,10 @@ /* needed for checksum offload */ #include #include +#ifdef INET6 +#include +#include +#endif #include #include @@ -62,8 +68,6 @@ #include "miibus_if.h" -#include "opt_inet6.h" - #ifdef USB_DEBUG static int ure_debug = 0; @@ -2179,7 +2183,6 @@ ure_txcsum(struct mbuf *m, int caps, uint32_t *regout) struct ip ip; struct ether_header *eh; int flags; - uint32_t data; uint32_t reg; int l3off, l4off; uint16_t type; @@ -2214,10 +2217,9 @@ ure_txcsum(struct mbuf *m, int caps, uint32_t *regout) if (flags & CSUM_IP) reg |= URE_TXPKT_IPV4_CS; - data = m->m_pkthdr.csum_data; if (flags & (CSUM_IP_TCP | CSUM_IP_UDP)) { m_copydata(m, l3off, sizeof ip, (caddr_t)&ip); - l4off = l3off + (ip.ip_hl << 2) + data; + l4off = l3off + (ip.ip_hl << 2); if (__predict_false(l4off > URE_L4_OFFSET_MAX)) return (1); @@ -2230,7 +2232,9 @@ ure_txcsum(struct mbuf *m, int caps, uint32_t *regout) } #ifdef INET6 else if (flags & (CSUM_IP6_TCP | CSUM_IP6_UDP)) { - l4off = l3off + data; + l4off = ip6_lasthdr(m, l3off, IPPROTO_IPV6, NULL); + if (__predict_false(l4off < 0)) + return (1); if (__predict_false(l4off > URE_L4_OFFSET_MAX)) return (1);