From nobody Wed May 13 16:00:37 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 4gFyqG5cPfz6dZmY for ; Wed, 13 May 2026 16:00:42 +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 4gFyqG4Pz6z3kj8 for ; Wed, 13 May 2026 16:00:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778688042; 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=Jvnf+Z+IPoYLYXoIOYYvZzstAz0z5RAahpKpQytstrU=; b=blDJr7ztg6Usml7RZ1Fkskbf/wXYKM0fOWwa31eF50i4y6QbgXEmaf8LM8bdVS1DkL0wIj +5/mj1ycOMWSglZ0/SlcLLlrwpQwlAI7Xq0P7As/tCLVvS2sOS8/Wrp9yKY1/hDl93lNKu krViOJZ6MYQgSsrQYpWYVa9mLzG571v9HuazSnvSuR4dc28bny9ndA4fuc+iA9dtsAZIxe 5Wzw/EdUVL+SM+m+Ud/kksZUV5pKH2KxGeWpB7B8OOc7x8hZ1b3fC3NkDAUhizFkHCXiWh U6Fqun54rvQYS4MsyXHLlVN/Gh1BKakT24tXvHoMALo2i8q/06QPNFK8A+hJOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778688042; a=rsa-sha256; cv=none; b=f6JNnLw/CrBTzUEKJmK0g0g91NZohIhoq8rNU42PdhPdvLYUF963QdTFrfk621/ofwhB6K FJY9i4n1rhQ1BWC9xTvXn4E4lhqWHzFWdnQteN4LL+1rc2omFH0y0CF07AyllLpLu0pqZf 0l5tztTbLwRfqZBSEBv3JPaTG7IZmTnkVCBZFuMm5zMIXDNCqRfEM34ShRgB1pgqQIWHQ6 7vKMorymc0/fGWrF+2A06PGKwqaar4+z7nOjzGsdG4Qdu2VVh+55TsUS1QIhtX3wYSArbM MJMN8QUZpGYlgv0zfLrm//osWiYqdBOf0Riu10tWPYPncaoGJmS/qyZAnhdOlg== 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=1778688042; 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=Jvnf+Z+IPoYLYXoIOYYvZzstAz0z5RAahpKpQytstrU=; b=ZFl6sCquZkj7EDBTTsWQ1Mvkbira6WHJtTFZEQXTNGGEAkpvXjAiwfI24Mx9i7QmIZGkfw D3TwZIIlOWeev2bnioPLh4nNr/hrAb3Qxo/5lyGfKFU9TqDkCnyxfEf3b3oh19A5hCHN7h eIY0FJfvNr12tuC2nfLm6jM2EU226aUHGgmBTlbrCdPJk9on6fCiWdTmRySA1WfyzlA/kT f8s87K9bKY6tD1XaYYwUfbI8+iEf8A6/BObNNwRA97JO+i0xpua38O2Tfs2XSttGoEt2m+ FTmKE9H0Ac5S4B8DQ1zquBFenmXTjZ7YEfNWmHNh3zAZn7I/3kOAManm2rS+gA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gFyqG3tvkzx2r for ; Wed, 13 May 2026 16:00:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a555 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 13 May 2026 16:00:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: e03c00b47b1a - main - cxgbe(4): Query and report IPsec offload related parameters 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e03c00b47b1af560b280c32576e7fc06b0a58224 Auto-Submitted: auto-generated Date: Wed, 13 May 2026 16:00:37 +0000 Message-Id: <6a04a025.3a555.7202e86e@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=e03c00b47b1af560b280c32576e7fc06b0a58224 commit e03c00b47b1af560b280c32576e7fc06b0a58224 Author: Navdeep Parhar AuthorDate: 2026-05-12 18:04:55 +0000 Commit: Navdeep Parhar CommitDate: 2026-05-13 15:51:46 +0000 cxgbe(4): Query and report IPsec offload related parameters MFC after: 2 weeks Sponsored by: Chelsio Communications --- sys/dev/cxgbe/common/common.h | 4 ++++ sys/dev/cxgbe/t4_main.c | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/common/common.h b/sys/dev/cxgbe/common/common.h index 2033967ffb94..fcc728a8bf31 100644 --- a/sys/dev/cxgbe/common/common.h +++ b/sys/dev/cxgbe/common/common.h @@ -457,6 +457,10 @@ struct adapter_params { unsigned int max_ordird_qp; /* Max read depth per RDMA QP */ unsigned int max_ird_adapter; /* Max read depth per adapter */ + unsigned int nipsec_tunnel; + unsigned int nipsec_transport; + unsigned int nofld_ipsec_tunnel; + /* These values are for all ports (8b/port, upto 4 ports) */ uint32_t mps_bg_map; /* MPS rx buffer group map */ uint32_t tp_ch_map; /* TPCHMAP from firmware */ diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index d73204eb808c..07906dac00a8 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -5998,7 +5998,29 @@ get_params__post_init(struct adapter *sc) sc->vres.key.start = val[0]; sc->vres.key.size = val[1] - val[0] + 1; } - + if (sc->cryptocaps & FW_CAPS_CONFIG_IPSEC_INLINE) { + param[0] = FW_PARAM_PFVF(NIPSEC_TUNNEL); + param[1] = FW_PARAM_PFVF(NIPSEC_TRANSPORT); + rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 2, param, val); + if (rc == 0) { + sc->params.nipsec_tunnel = val[0]; + sc->params.nipsec_transport = val[1]; + } else { + CH_ERR(sc, "failed to query IPsec params: %d.\n", rc); + MPASS(sc->params.nipsec_tunnel == 0); + MPASS(sc->params.nipsec_transport == 0); + } + } + if (sc->cryptocaps & FW_CAPS_CONFIG_OFLD_OVER_IPSEC_INLINE) { + param[0] = FW_PARAM_PFVF(OFLD_NIPSEC_TUNNEL); + rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 1, param, val); + if (rc == 0) { + sc->params.nofld_ipsec_tunnel = val[0]; + } else { + CH_ERR(sc, "failed to query TOE IPsec params: %d.\n", rc); + MPASS(sc->params.nofld_ipsec_tunnel == 0); + } + } /* * We've got the params we wanted to query directly from the firmware. * Grab some others via other means. @@ -7987,6 +8009,15 @@ t4_sysctls(struct adapter *sc) SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, NULL, sc->tids.nftids, "number of filters"); + SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "nipsec_tunnel", CTLFLAG_RD, + NULL, sc->params.nipsec_tunnel, "max hw IPsec tunnels"); + + SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "nipsec_transport", CTLFLAG_RD, + NULL, sc->params.nipsec_transport, "max hw IPsec transport pairs"); + + SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "nofld_ipsec_tunnel", CTLFLAG_RD, + NULL, sc->params.nofld_ipsec_tunnel, "max hw IPsec tunnels (TOE)"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, 0, sysctl_temperature, "I", "chip temperature (in Celsius)");