From nobody Fri Apr 24 12:30:23 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 4g2C3N48H1z6bBJc for ; Fri, 24 Apr 2026 12:30:24 +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 4g2C3N3P9xz3vcs for ; Fri, 24 Apr 2026 12:30:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777033824; 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=R5t/ZD1l7D0gtzWzPCORJPREmTtBMS8irlc7Lm9Eapc=; b=ypZbqteclk/9wPq4lLth52/d/9lxXCMpIwgX+1RrgJKcmEwSaiQPE8kqBe8ET5yvbLtZXE sa7/OWuauTg333zUSvN+UZvhZteowL7y6Lt5iKQHeSIPhhLQetML4zgSomw5hJNky8JA8m vWy54+VgzCOf2opBx05FK/R6UGdgA2ULfoAxU67S17Q8c0uC0C484t4ap4UOxGX/ztEztI TvnRzjmWN6VTpaeUHWqbPh/3MeoRALhFYvXWN9LgdM162Dfpg6PHf260stB0hWG5JXtWv8 dTRpODhPaTBb0IhrxJZR6DHYuOEwQL/VNw+Peqqcj/5WExKqPye7JFJqQrOYVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777033824; a=rsa-sha256; cv=none; b=jRC4rWcc23Z2Tqn+8GS7K3T0RqmN57UWkKnLpd8PE6bts5Vq/fuf+E5qxxAYrcTYoyvBSh rzCdyLmknweaOQ7qdcj/h0dIf/9r7kjux+N15MQ/ZajsLuzWIIuPCC5YlKnAiEWDfF/Q5+ Ey3/E7FGtBQfsUq7ymD9gFGrc8S3Vk2mbPgGan0GnFpZqo8pPt3XuTc9JG4WvXJKguXby1 CyioZGcn9xt+DTzAydseDV6rKfH6eyEtsTZa3tmLH2QtHBabFBGJWlwxK/WhbnM7j9nJop +5+Z8HFaFdbtJDUIN4Q7PJfg1KhS+M9Y17G//T0oTgvvqoOnmwqVqj4QL6ofPg== 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=1777033824; 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=R5t/ZD1l7D0gtzWzPCORJPREmTtBMS8irlc7Lm9Eapc=; b=gAMBizETIAQPcYsnXSe+om+UxXFpTRMhEO9oN/wCs4xW7hs9tUn8u96JHNymid91v0F36W Mp6bmpiFi23m0Na2JuEGiKcaeY8JVAwlIzkPRZIVD4Dm8Wn6qzyqBR3KW9EOlKE4RDksO2 G5AD40IcOGAJtk1txOvx7yyVJgeRAdXqJCfCB29TotkjW832VjyqHokWVNTWZV7JrDApT+ 3bYqqAFpFX41Ai2UOgbXmr5H8PAJ1AUhCZH3PBuk78pAuvlyh+0B5Db1U+lByb+W5uR+KH fWOe9W/awqBBVNZ6tI48WWD+QhFzu+NyaFPUI+17DDCECB1g/nkneD7LzoMcwA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g2C3N098dz130B for ; Fri, 24 Apr 2026 12:30:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a65a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 24 Apr 2026 12:30:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: b9446b22bcf6 - stable/15 - dpnaa2: announce transmit checksum support 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/stable/15 X-Git-Reftype: branch X-Git-Commit: b9446b22bcf61500a628f42bf04a7a4d6fcbee76 Auto-Submitted: auto-generated Date: Fri, 24 Apr 2026 12:30:23 +0000 Message-Id: <69eb625f.1a65a.77ff964e@gitrepo.freebsd.org> The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b9446b22bcf61500a628f42bf04a7a4d6fcbee76 commit b9446b22bcf61500a628f42bf04a7a4d6fcbee76 Author: Michael Tuexen AuthorDate: 2026-01-23 07:59:57 +0000 Commit: Michael Tuexen CommitDate: 2026-04-24 12:29:06 +0000 dpnaa2: announce transmit checksum support Let the network stack know that the NIC supports checksum offloading for the IPv4 header checksum and the TCP and UDP transport checksum. This avoids the computation in software and therefore provides the expected performance gain. PR: 292006 Reviewed by: dsl, Timo Völker Differential Revision: https://reviews.freebsd.org/D54809 (cherry picked from commit f31336b3e3146fed9cc517fef8e877c17496f9e0) --- sys/dev/dpaa2/dpaa2_ni.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/dev/dpaa2/dpaa2_ni.c b/sys/dev/dpaa2/dpaa2_ni.c index d94770b3c3ec..460e2a02a9a7 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -210,6 +210,9 @@ MALLOC_DEFINE(M_DPAA2_TXB, "dpaa2_txb", "DPAA2 DMA-mapped buffer (Tx)"); #define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */ #define RXH_DISCARD (1 << 31) +/* Transmit checksum offload */ +#define DPAA2_CSUM_TX_OFFLOAD (CSUM_IP | CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6) + /* Default Rx hash options, set during attaching. */ #define DPAA2_RXH_DEFAULT (RXH_IP_SRC | RXH_IP_DST | RXH_L4_B_0_1 | RXH_L4_B_2_3) @@ -567,6 +570,7 @@ dpaa2_ni_attach(device_t dev) if_settransmitfn(ifp, dpaa2_ni_transmit); if_setqflushfn(ifp, dpaa2_ni_qflush); + if_sethwassist(sc->ifp, DPAA2_CSUM_TX_OFFLOAD); if_setcapabilities(ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6 | IFCAP_JUMBO_MTU); if_setcapenable(ifp, if_getcapabilities(ifp)); @@ -2617,8 +2621,10 @@ dpaa2_ni_ioctl(if_t ifp, u_long c, caddr_t data) changed = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if ((changed & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) != 0) if_togglecapenable(ifp, IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6); - if ((changed & (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) != 0) - if_togglecapenable(ifp, IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + if ((changed & (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + if_togglehwassist(ifp, DPAA2_CSUM_TX_OFFLOAD); + } rc = dpaa2_ni_setup_if_caps(sc); if (rc) {