From nobody Fri Apr 24 13:24:27 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 4g2DFl2yX6z6bGbp for ; Fri, 24 Apr 2026 13:24:27 +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 4g2DFl2Hnvz44q7 for ; Fri, 24 Apr 2026 13:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777037067; 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=keiv7X7SdUeXOk7RNsO7ZRdnxqtm6slMcD2mZwDB+5c=; b=ndlfCn4VCEnZNhepADURdaebeBbdRhlKQp/DFB9Xs+hYtEYA1+NdXQ12Gv0I1B52k8q0QQ zdpCcREMnx4dNulw6az3gWXVEFXddN4zW1IW2B1p+JUSr5g1ECuoK2nVpvYRcMOz48cgxx xZNBDwdU1UWlEUwgfKQFxJEwuX7/VjE63f5ULICQmG7Np1okKDXIvWoYbPmf/OI0oc9tkT 5nrEnIbYTHtDRfmvNlL1iLjmOKaIOa6wZWMjJgP5y6f9FWiT3/NhWssrQC+nzHpe+aqLVC 21CCOzO2QxF0zKfChYyBMH64pWsWzXaTVQafinWDl7fhwKi6xCtkV2LnVZ58ZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777037067; a=rsa-sha256; cv=none; b=uOXGVOXhbNgy1PFZpU2OzVKhV7wLg+wndEmnWbispWZmPio6YibiW6zKgmKPwoR85gAA7V fvoehTF90J71cHRvN3o2dPlLIFhI8z82hOGHfZAiIcri30FJaMoZ5jgV9oqvl0yFhBLLDq azDjixJZzsTW2gM/25lW4+xWK2HktzxU0/OdHaW9rhtTEoDOkEpuDNslABv3HyQwtu5MxZ 803YDZwUIe7jfllWICStAM4eQYTMAJBoMbqXQMp2Pqxu7dItFfbkny6MA3aTq4cD892WB/ 4fAkBW8RaYBwCFq4k+ZPkhf17vNLNzXeT1GVWlB5++8TrBY+1/oHWCTzt9VRZg== 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=1777037067; 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=keiv7X7SdUeXOk7RNsO7ZRdnxqtm6slMcD2mZwDB+5c=; b=C9a8KvWF0EXBzvMR+avGy9uJK/0A3k0AWq6uJ500/lKNr+X7qyQgyY+KIiATTgC7QxPMb9 /yq9sDiFRASb00amKRYTOKZQPf5pq3p8ThGGKcA3hsGW8G58UERb5bfqUx95oXUGKZn0gj b09SYBDD7wo5cScJAUXHMAzeTqK1tfu2KIxrB+x5C8240Dk7Hw6E83niOP5tprpndznR8y DmhyUMso5MlS25xRquKnYOUbm0q2NoVr2czsiiV32vH2iGpdXTPPI+rvWfDgWAoWidqWT7 pHSy4ttNm8uNk6Al+ToVpFAs0Yy5Ed7EZy4hVrEkN3679DN2K8BP+Qg1tf+Y2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g2DFl1H6Yz14WY for ; Fri, 24 Apr 2026 13:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1ead8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 24 Apr 2026 13:24:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michael Tuexen Subject: git: e820964dc7c4 - stable/14 - dpnaa2: announce transmit checksum support 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: e820964dc7c4626a9f51f534434109418caa3acb Auto-Submitted: auto-generated Date: Fri, 24 Apr 2026 13:24:27 +0000 Message-Id: <69eb6f0b.1ead8.2f825e26@gitrepo.freebsd.org> The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e820964dc7c4626a9f51f534434109418caa3acb commit e820964dc7c4626a9f51f534434109418caa3acb Author: Michael Tuexen AuthorDate: 2026-01-23 07:59:57 +0000 Commit: Michael Tuexen CommitDate: 2026-04-24 11:17:23 +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 20d4440b5532..f72217084cdd 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -209,6 +209,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) @@ -541,6 +544,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)); @@ -2585,8 +2589,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) {