From nobody Sun Feb 8 20:16:33 2026 X-Original-To: dev-commits-src-all@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 4f8Jxs1W6bz6RhyY for ; Sun, 08 Feb 2026 20:16:33 +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 4f8Jxs0rC8z4FNT for ; Sun, 08 Feb 2026 20:16:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770581793; 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=u9iEINE+dI3Oo8GC3L8xhmTMj/oEHXaJtFgOMBLzRthPIY6ZH+szecXXOYmBS2SrY4Zpnm qsdxzEk0LFurpHdvtruxiWvwLFAAI5ekj1YwaFIZO1Vbb5tmvT01uRHEcRrdTL0QPcAikc bOdbodXKXgCY1B/GDQ/aS9vT1B0PEdhFYlSO8CfN+UGOU3c+lQtb5QlUD8NAav7/ekUli7 OyAs316csyg2Omaf3CshKdc/Ok5pFDKA/cPeroEVfFa4GzASbureG8jFT35n36hvTvhot1 fvzpFHQ61A3OLHpB9wsAYsQpwrUFrQpTGisfJpjimjRFSbLWC11A3KLElUL1cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770581793; a=rsa-sha256; cv=none; b=PWLBsf1Szn0O/CM3NSnVRRJy2WdR5Uah1EHAz71JCLOE5qYZpAX2nRH4ADk8UEwQOcLxf7 B4mkAE6Ng3pW6gdD1TBNmYM3iLIPZOrqqqz8v6kd/9EptB0DUL2+5Ow8+67ntM4q3AZ2PF BhqZ2eJ7CXB8aERZzuggvekCYRii64lVbOpZSyTuRAgqoWRGvm2A3MotEFEmRdyO+QpjG5 Uv0Hv6jCnld8jEqU29a9PbRhTit7u9cDZlm9Rp8+Qdop3/eOCUwuQlcKQ0u9jQm1zqKOPU Vmjl4TcvfRhyywP53ccFFCHzSv+BMXqITpXH3ehs/LOe3zw/ThUTquUy5R4PhA== 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=1770581793; 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=J8w3RPph0NwSw2QVscxADEYG3frgf5fMym8f3i0JLGtacakmk3x0EyCs3G54buwg4ViiZh JSs+ePt4Fd56hvyubGmEBTLzBKPNAhJQxMmZUMd98vHj+ISKEwTkE3nrPT8RzLxOMJrmiJ t93nakiUITPujjdgvUGbIzwamrTFhS3N+LxR11DuC7IQBWHOO0QdUDDOLWfoIVn1k3x7t2 LPYtHzKGMboXvUJ0LHlY+XeFm4XNjV7uz2dru0MP8KeBokdNFmiGzRut5n5fRsyEQeQ24m wsOW1Bft4SQNZ2G3Sj67CPW5zScd3TVOSLGSu+ah+q7U9Cj5jUU9SrbUnvID8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8Jxs0PfXz122B 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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);