From nobody Sun Dec 21 14:46:38 2025 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 4dZ3xq0DMSz6Kt2X for ; Sun, 21 Dec 2025 14:46:39 +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 4dZ3xp50vxz401c for ; Sun, 21 Dec 2025 14:46:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766328398; 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=0bHdboMUQUg7rpZ8PdkbqJDKvmFVkimq7fhnCPWuHQg=; b=pq/FC1MdMM7FcTrtKmDzfweYXE2hs+V9br9JkFUF/YHmsBnq1Yzw52vqmsZs7tZN5OgV2p HQKZHl2mdgFUo9SO8dNRkL8dalARHeG+S/XzKV6wFPmmn6kJ9PC86K3z5vjRPdX/8a3VMb kgCJB5CsOXKiurY3i8cHxjRtIxpXzXJKOQimi3YQ/vfDr4wqTH57uthooN6NqwPMX1sldh UBZ1aHuen6nUp9T5m49Kez0/wNVTdBin355CHMwlcAM1pKuOWMTcjjvPtGBi0X6V12v1lw PdY+TmIz7imH5DbMdqKlP3Jy2bEE2UY9DwqDU8ruB6yJZrRF8FFocYYeDypeyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766328398; 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=0bHdboMUQUg7rpZ8PdkbqJDKvmFVkimq7fhnCPWuHQg=; b=GAVGRGvLo2BdiW6J1s0eSpLVqBkS8sK9xCKZb+zSddG5s7e4wOrmv86ZIkaVsl2ysYC7Wg 3SczUNVhcsOxvtDxVy8CCfOSuIoReRYkgtl2NsTqeQor4C3wVy8GE+YJ+cmPvfFlfnUj2O da3pgXcRtPY3Z4bV7vdXAEIxyVS+dFOGuWXjtDdcsrvbQn963SESJJ7o4F1QSRPU4UVxKY o+dS8n8N59eoJKiyuTHIaeFloHW4VfnDjBRMQthJHR3DrYd6ScykQ2xp22v7DvlKJaAd82 MZCvh05vetxCQlRx6NNfBQdIJevF+otls1W0A9qB4PG2XxY0Zyg/PQ2nlMb1yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766328398; a=rsa-sha256; cv=none; b=FRjO3N+slG1qsUA6WQKLkVcS8IZ0cE2KHsotvD4cRn/Au9oXXq8Zf+57yr9dLkLsVW2pos ZOJLDeM10wCxZSpOSlZAKTpBjGQDlZRtFp+VEGylRuWCFfrFaImk4xWcKkA0QPTmoK4far JCRdxhnx9/7qpm2xiD9233YZ+MwdJg57OoeT8lK8hKvQvm3tPyQ3BX1GcZ/OinLvBz8XMI zJEkKbApsFpMIEe5I6Lbu/ZpDpe6b9xULbqEnOA+za5GeVf+21pPZ8o+sZ2c/Dzzw5rnj2 4dWeEQd6TPEJIKvmUAL8KBsB91xvrU0eXblYOU9/PS8t+GW4PPglUUFidTZVhg== 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 4dZ3xp4YBYzl35 for ; Sun, 21 Dec 2025 14:46:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39145 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 21 Dec 2025 14:46:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: 4d692068f685 - main - ktls: Capture initial tls seqno at time offload is initiated 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: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d692068f6850282dabde9e35b3098a4ebec9592 Auto-Submitted: auto-generated Date: Sun, 21 Dec 2025 14:46:38 +0000 Message-Id: <6948084e.39145.65287bf8@gitrepo.freebsd.org> The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=4d692068f6850282dabde9e35b3098a4ebec9592 commit 4d692068f6850282dabde9e35b3098a4ebec9592 Author: Andrew Gallatin AuthorDate: 2025-12-20 21:10:12 +0000 Commit: Andrew Gallatin CommitDate: 2025-12-21 14:45:25 +0000 ktls: Capture initial tls seqno at time offload is initiated Some drivers want the TLS seqno when offload starts. Capture this for them by adding a union for initial_seqno, sharing space with the TLS 1.0 next_seqno. Reviewed by: jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D54275 MFC After: 1 month --- sys/kern/uipc_ktls.c | 3 +++ sys/sys/ktls.h | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 66ce1b5a081d..35009ad77722 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1406,6 +1406,9 @@ ktls_enable_tx(struct socket *so, struct tls_enable *en) if (error) return (error); + /* some ktls offload NICs require initial seqno to start offload */ + tls->initial_offload_seqno = be64dec(en->rec_seq); + /* Prefer TOE -> ifnet TLS -> software TLS. */ #ifdef TCP_OFFLOAD error = ktls_try_toe(so, tls, KTLS_TX); diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h index a940bcfaba25..6c7e7d3c5ee3 100644 --- a/sys/sys/ktls.h +++ b/sys/sys/ktls.h @@ -221,9 +221,12 @@ struct ktls_session { bool tx; bool sync_dispatch; bool sequential_records; - - /* Only used for TLS 1.0. */ - uint64_t next_seqno; + union { + /* Only used for TLS 1.0. */ + uint64_t next_seqno; + /* Needed by some ktls offload NICs */ + uint64_t initial_offload_seqno; + }; STAILQ_HEAD(, mbuf) pending_records; /* Used to destroy any kTLS session */