From nobody Fri Jan 23 08:00:09 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 4dy9MY4cDgz6PqM8 for ; Fri, 23 Jan 2026 08:00:09 +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 4dy9MY3PNkz3HCd for ; Fri, 23 Jan 2026 08:00:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769155209; 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=WM02WunT/mN3Fm0Vhgx5jGF4Cgen81bjAA5h0DHXP5E=; b=XLxue6a9S3+bS/P4Zczcvcumbym8fT8a5dbHRrBXUEffdT2Z+S0xk++op8SbW22b9qrhpP 9PqRMtYVEixFNqL3DkTEAn7TbeaCacwWVsl9JmYMGFruIKDUQVTLFjKB5bUQE682WeP3Jb Tk02QcowiHG6wy7yUGYHvPgKVIYGrZ5UNCXNWy87NXvNCX5zzuoLje/2byvguWAziHbhMg hdsirImSrC4kZltatXeGtaR82+ztdDozouxKb8t4yHFMrYPWyDZ0v3mAOfUOUtKWS2sgO7 ACdidmB25D87gtpOOy6w9O51cf3PL+1/ticdWuqTqA90VqWYdUv8INzeT4Tz6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769155209; 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=WM02WunT/mN3Fm0Vhgx5jGF4Cgen81bjAA5h0DHXP5E=; b=U9LiBAecmnvrxcLZ3H/XaNNiuaqoEp5ZT4h0UojhHPmdRj5WMeF+ZReJhMl8Rds1NVRliW qOLvIAa1hfOTRsmTA08Bvkho6SLr8AJtVn+T84ZCeTkNAxXUif43WUc+A72ZX4sdsu51Um /vEJ+rofqW2BOVhdk2rIV/uzWoNWLrVxRQVIuFwZdClg7B/+Gnyyw614qRXoCnyuKB/imq SundBSBSXBLUDC8p/CgA1SbFIAQZdvA1pJg0MkAddItnIX2TDKuDtW/187+8+ZXPzYHi4j wbSk1uCo5N+XqzdAdBtO865uJaXeIGskDUWVD7pEBRSl/MjmCPo1YD1ClMNtyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769155209; a=rsa-sha256; cv=none; b=nb7Oi20CeFE5eQ8NVsPP2na2dmfGSAGMIpAdflD1hm134nPGKZVBowAvKwGFZYiPvkX1UK YnlwJe8/dg0lFs/E/0vHfCrYG1QIQGEANJrjwvohkYekmZDhRBRh45wvj2sG+SEnGBKI47 R49QUGKM9rwwV8I5qBDOIL6c7e6u5xL9h2rHf2ONQmSt0xEG3YVp7yshOv7+vZ305DDHUY y5nw2s7DUbGvPn2gScNnucnjhPtHG+bw0BApxKr8NBR99A8VtdlVZP0D1et5YVFk3XDXjm ioRDjRO3zJFiPvK780wdNgJWOTlYBrWPLYpF8n9vue758/UjjlYVsAqUiuaJLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dy9MY318tz190Y for ; Fri, 23 Jan 2026 08:00:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20f59 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 23 Jan 2026 08:00:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: f31336b3e314 - main - dpnaa2: announce transmit checksum support 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: f31336b3e3146fed9cc517fef8e877c17496f9e0 Auto-Submitted: auto-generated Date: Fri, 23 Jan 2026 08:00:09 +0000 Message-Id: <69732a89.20f59.12971f05@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f31336b3e3146fed9cc517fef8e877c17496f9e0 commit f31336b3e3146fed9cc517fef8e877c17496f9e0 Author: Michael Tuexen AuthorDate: 2026-01-23 07:59:57 +0000 Commit: Michael Tuexen CommitDate: 2026-01-23 07:59:57 +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 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54809 --- 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 eda5bab78bde..5f796e6e472b 100644 --- a/sys/dev/dpaa2/dpaa2_ni.c +++ b/sys/dev/dpaa2/dpaa2_ni.c @@ -220,6 +220,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) @@ -559,6 +562,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)); @@ -2600,8 +2604,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) {