From nobody Sat Jun 13 12:57:03 2026 Received: from mail-qt1-f225.google.com (mail-qt1-f225.google.com [209.85.160.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2515339DBE7 for ; Mon, 6 Apr 2026 22:23:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514213; cv=none; b=Bh6FQ8h/391MQPoSiy1pnfwWJpo1y2OevBnQaxw7tRuEE8Tfweh/udtdmlHSzbC9hO21/UvwXWyUrtRJ0XsY0FIr28MoqcJYMJJ/1ncDY4yHcu50HXJUP3p1F4lGCHgEjPxfA1Jh1rLWV7dFiHHMR56NEqK0QLPmAt9coljFg5w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514213; c=relaxed/simple; bh=VLQ5IkcBtCjBDGaR0WwwpGww4PBjusxCzJ79AXUkr1E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gANPDnCLTteo+RrnF5rFWzPhABUlCVuf5Lzu8U+iey6wa8qGdmokBlnpVknlVGAaQB/vKnL8NJ4ZcLreZUXMP1jy9wWM7CzL7jqYOkKHjEAPuH8uE+YI50FSKxuV/49rZVQ8rvtPBBETN5ISH9g0+K5Tx/z9MltzrLOsOfs37FI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=dWnRk+t6; arc=none smtp.client-ip=209.85.160.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="dWnRk+t6" Received: by mail-qt1-f225.google.com with SMTP id d75a77b69052e-50b3488fb31so82785521cf.1 for ; Mon, 06 Apr 2026 15:23:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775514211; x=1776119011; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pww6noY0UbFv/2uFTq7wBzMSydfDf9FT6J6UA49RRWE=; b=BQxL4QMhGeY8f5nrnn425xAXHWze2UEcoaH2Tyl1eM508hmzKQ611iT6tD0rHHz7hY hPaDdTE+UWn44mw+Idvv76qq++c2gB9qoOGN0RBFct7C/xrzJKhn/ll9lmFh1vvE8Dq5 /uKyXiyUsNlZf1mr8pWwAo73cBebSgFLgAXyLP2XglI60gvZTCGzu6EdA0WdLbvf9UK7 kO1dGxkY3vGc4tW/+yzYuvDXMuHmjrIXlNWXAxBr5i0VnUA/ANz4KTH4/gN+N2xx3mTA LiwnbeJM6b8xDJ5xWyxrRSiUhGeZkxuU38/mghzzq/BfP/3fz4c6HIUhAPMeQjmnxngK Y3Dw== X-Forwarded-Encrypted: i=1; AJvYcCWGuH7zHLHJQ4Hv8oHZExCjIdDplsn73X7PzJ3sJTgo7qFOq55EFvHtW2f5Zi9SrCOy+j1WlBv2AYKIuFg=@vger.kernel.org X-Gm-Message-State: AOJu0YyjhNNWnyODGGbPnSGXI6Tq0M/O0vIG8kE55huRAW77RuOEj224 D4uBSypWBu9PIxQScPvSsdVc4XqwyC+xIDSeL2X3/XUpg27zMkiHKLePLHi6zQN/r/vIfR/rPMa KUBIWTc1pOAE7jImBj4RNb7M1XvyR6vVR1Zm3lDDpeeE1MfZmsAKBBEN15E8iVyEnkc7nRK/n6W 5e+Xtn3Ns1Sl8bkpalMrvnLROCGkl7YqrdadF6lpVEtJYM7WXd5viTpidh+nnj4fZs54IMkQ3Hz xLxIvsB0l09PYgEaxrdoH2smeDO X-Gm-Gg: AeBDiesWQCJzOeM7MvjECuhL9uOB4pz1G0SUmcOk6NGlZgFjaQuHGQ55GeGMIdQ2Nnv tkLbC3WLfodEy5bWPaJ/9aOD37qZbj8ndIRafvj4t0ZXvS49nU1VzPyGiykuo/Sb9qLIWVgLSiw UDprs5aqm0URaVCRTNS7564LmXhzFcxUPiBS3UooBbbNEih0zipweslSbno2K7bQjlw49UyFug4 eI2OrbybtXQ3uRbwBTyiTHkm2by4peNGZgctgMilZmWrzR7Po+NMXb2Ent4dcpm3RmgCb9vplg1 IWlysbt8q80CeRfvQQ63XAvyM0F07f6QgkFWzJPXltUTBrREQMfg+H2VVxv1YSzG6OzfQVkSYdU H8nZETKa6tKZhXOgX/eG/OG/3gkrY2Y+moerxjsW5aszjtmV0/ShPcUQpjo0H8XF0zXtT9iu6Ui 2lbMotFRB1xwBq/Nbz0Bblu0Z2lzydCebd973Pyo/OIPQlhpIXvQen74h5TcL/foc= X-Received: by 2002:ac8:5a49:0:b0:4ed:70d7:aa5a with SMTP id d75a77b69052e-50d4fc18047mr237090161cf.25.1775514211043; Mon, 06 Apr 2026 15:23:31 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-24.dlp.protect.broadcom.com. [144.49.247.24]) by smtp-relay.gmail.com with ESMTPS id d75a77b69052e-50d4b61e671sm9593111cf.18.2026.04.06.15.23.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2026 15:23:31 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2bdd327d970so3317787eec.1 for ; Mon, 06 Apr 2026 15:23:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1775514210; x=1776119010; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pww6noY0UbFv/2uFTq7wBzMSydfDf9FT6J6UA49RRWE=; b=dWnRk+t6at+6J+cLuVCgAVa6nLsYf7UPODojf3AVY4yOh/R1xSowP8CrYjpQwzvJI2 G9nPliGhsEWmVRXxqEN/2txZHZcnvtvtneIB5c0oEDjcOHQoSfWBoMTD0DfoSbgbrD+g LUY9BTYPQEiZiZnI3Fsgy0PHLRFv60FO0NBYY= X-Forwarded-Encrypted: i=1; AJvYcCV9KfyD0odwlICHFVgx2+eR4TpQqpLNA6autOdOVMy9yL6gj2b0xeM4oPfUFDsit2b47oWyLGQDze5DIx0=@vger.kernel.org X-Received: by 2002:a05:7301:1288:b0:2c1:5889:779c with SMTP id 5a478bee46e88-2cad853b80cmr6878989eec.16.1775514209600; Mon, 06 Apr 2026 15:23:29 -0700 (PDT) X-Received: by 2002:a05:7301:1288:b0:2c1:5889:779c with SMTP id 5a478bee46e88-2cad853b80cmr6878978eec.16.1775514209017; Mon, 06 Apr 2026 15:23:29 -0700 (PDT) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2cb92ea0ef1sm11771909eec.21.2026.04.06.15.23.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 15:23:28 -0700 (PDT) From: Akhilesh Samineni To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org, willemb@google.com, daniel.zahka@gmail.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, jayakrishnan.udayavarma@broadcom.com, ajit.khaparde@broadcom.com, kiran.kella@broadcom.com, akhilesh.samineni@broadcom.com, sachin.suman@broadcom.com Subject: [PATCH net-next 1/3] psp: add crypt-offset and spi-threshold get/set attributes Date: Mon, 6 Apr 2026 15:23:03 -0700 Message-ID: <20260406222305.4111170-2-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> References: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" crypt-offset (Crypt Offset) Reviewed-by: Ajit Kumar Khaparde Reviewed-by: Kiran Kella ---------------------------------- The crypt-offset attribute specifies the byte offset within a packet from which encryption begins. This is a per-device attribute that allows a portion of the packet header to remain in plaintext while the rest of the payload is encrypted. This is useful in scenarios where intermediate nodes need to inspect or process a fixed-size header before the encrypted payload. The default value is 0, meaning encryption starts from the beginning of the payload following the PSP header. spi-threshold (SPI Threshold) ------------------------------ The SPI (Security Parameter Index) is a 32-bit per-device identifier used to distinguish security associations. As SPI values are allocated monotonically, a threshold is needed to trigger timely SPI rotation before the space is exhausted. The spi-threshold attribute allows userspace to configure the value at which an SPI rotation should be initiated. The default is set to PSP_SPI_THRESHOLD_DEFAULT (~90% of 0x7FFFFFFF), providing a comfortable margin to perform rotation without racing to exhaustion. NOTE: A follow-up series will add notification support to alert subscribed users when the configured spi-threshold is reached, enabling timely SPI rotation. Signed-off-by: Akhilesh Samineni Reviewed-by: Kiran Kella Reviewed-by: Ajit Kumar Khaparde --- Documentation/netlink/specs/psp.yaml | 13 +++++++++++++ include/net/psp/types.h | 7 +++++++ include/uapi/linux/psp.h | 2 ++ net/psp/psp-nl-gen.c | 6 ++++-- net/psp/psp_main.c | 3 +++ net/psp/psp_nl.c | 27 +++++++++++++++++++++++---- 6 files changed, 52 insertions(+), 6 deletions(-) diff --git a/Documentation/netlink/specs/psp.yaml b/Documentation/netlink/s= pecs/psp.yaml index f3a57782d2cf..b22869be91cf 100644 --- a/Documentation/netlink/specs/psp.yaml +++ b/Documentation/netlink/specs/psp.yaml @@ -38,6 +38,15 @@ attribute-sets: type: u32 enum: version enum-as-flags: true + - + name: crypt-offset + doc: The offset from the end of the PSP header to the start of the= encrypted payload. + type: u8 + - + name: spi-threshold + doc: Threshold for the SPI to trigger notification to the user for= appropriate rotate action. + type: u32 + - name: assoc attributes: @@ -170,6 +179,8 @@ operations: - ifindex - psp-versions-cap - psp-versions-ena + - crypt-offset + - spi-threshold pre: psp-device-get-locked post: psp-device-unlock dump: @@ -193,6 +204,8 @@ operations: attributes: - id - psp-versions-ena + - crypt-offset + - spi-threshold reply: attributes: [] pre: psp-device-get-locked diff --git a/include/net/psp/types.h b/include/net/psp/types.h index 25a9096d4e7d..875f7822557f 100644 --- a/include/net/psp/types.h +++ b/include/net/psp/types.h @@ -25,6 +25,9 @@ struct psphdr { #define PSP_SPI_KEY_ID GENMASK(30, 0) #define PSP_SPI_KEY_PHASE BIT(31) =20 +/* Default SPI threshold: ~90% of max SPI (0x7FFFFFFF) to allow rotation b= efore exhaustion */ +#define PSP_SPI_THRESHOLD_DEFAULT 0x73333333 + #define PSPHDR_CRYPT_OFFSET GENMASK(5, 0) =20 #define PSPHDR_VERFL_SAMPLE BIT(7) @@ -38,9 +41,13 @@ struct psphdr { /** * struct psp_dev_config - PSP device configuration * @versions: PSP versions enabled on the device + * @crypt_offset: crypto offset configured on the device + * @spi_threshold: SPI threshold value on the device */ struct psp_dev_config { u32 versions; + u8 crypt_offset; + u32 spi_threshold; }; =20 /** diff --git a/include/uapi/linux/psp.h b/include/uapi/linux/psp.h index a3a336488dc3..bb390159dc72 100644 --- a/include/uapi/linux/psp.h +++ b/include/uapi/linux/psp.h @@ -22,6 +22,8 @@ enum { PSP_A_DEV_IFINDEX, PSP_A_DEV_PSP_VERSIONS_CAP, PSP_A_DEV_PSP_VERSIONS_ENA, + PSP_A_DEV_CRYPT_OFFSET, + PSP_A_DEV_SPI_THRESHOLD, =20 __PSP_A_DEV_MAX, PSP_A_DEV_MAX =3D (__PSP_A_DEV_MAX - 1) diff --git a/net/psp/psp-nl-gen.c b/net/psp/psp-nl-gen.c index 22a48d0fa378..e50b8b80955c 100644 --- a/net/psp/psp-nl-gen.c +++ b/net/psp/psp-nl-gen.c @@ -23,9 +23,11 @@ static const struct nla_policy psp_dev_get_nl_policy[PSP= _A_DEV_ID + 1] =3D { }; =20 /* PSP_CMD_DEV_SET - do */ -static const struct nla_policy psp_dev_set_nl_policy[PSP_A_DEV_PSP_VERSION= S_ENA + 1] =3D { +static const struct nla_policy psp_dev_set_nl_policy[PSP_A_DEV_SPI_THRESHO= LD + 1] =3D { [PSP_A_DEV_ID] =3D NLA_POLICY_MIN(NLA_U32, 1), [PSP_A_DEV_PSP_VERSIONS_ENA] =3D NLA_POLICY_MASK(NLA_U32, 0xf), + [PSP_A_DEV_CRYPT_OFFSET] =3D { .type =3D NLA_U8, }, + [PSP_A_DEV_SPI_THRESHOLD] =3D { .type =3D NLA_U32, }, }; =20 /* PSP_CMD_KEY_ROTATE - do */ @@ -75,7 +77,7 @@ static const struct genl_split_ops psp_nl_ops[] =3D { .doit =3D psp_nl_dev_set_doit, .post_doit =3D psp_device_unlock, .policy =3D psp_dev_set_nl_policy, - .maxattr =3D PSP_A_DEV_PSP_VERSIONS_ENA, + .maxattr =3D PSP_A_DEV_SPI_THRESHOLD, .flags =3D GENL_CMD_CAP_DO, }, { diff --git a/net/psp/psp_main.c b/net/psp/psp_main.c index 9508b6c38003..536ee44db09d 100644 --- a/net/psp/psp_main.c +++ b/net/psp/psp_main.c @@ -79,6 +79,9 @@ psp_dev_create(struct net_device *netdev, INIT_LIST_HEAD(&psd->stale_assocs); refcount_set(&psd->refcnt, 1); =20 + /* ~90% of 0x7FFFFFFF; allows SPI rotation well before space is exhausted= */ + psd->config.spi_threshold =3D PSP_SPI_THRESHOLD_DEFAULT; + mutex_lock(&psp_devs_lock); err =3D xa_alloc_cyclic(&psp_devs, &psd->id, psd, xa_limit_16b, &last_id, GFP_KERNEL); diff --git a/net/psp/psp_nl.c b/net/psp/psp_nl.c index 6afd7707ec12..fbb77460a24b 100644 --- a/net/psp/psp_nl.c +++ b/net/psp/psp_nl.c @@ -101,7 +101,9 @@ psp_nl_dev_fill(struct psp_dev *psd, struct sk_buff *rs= p, if (nla_put_u32(rsp, PSP_A_DEV_ID, psd->id) || nla_put_u32(rsp, PSP_A_DEV_IFINDEX, psd->main_netdev->ifindex) || nla_put_u32(rsp, PSP_A_DEV_PSP_VERSIONS_CAP, psd->caps->versions) || - nla_put_u32(rsp, PSP_A_DEV_PSP_VERSIONS_ENA, psd->config.versions)) + nla_put_u32(rsp, PSP_A_DEV_PSP_VERSIONS_ENA, psd->config.versions) || + nla_put_u8(rsp, PSP_A_DEV_CRYPT_OFFSET, psd->config.crypt_offset) || + nla_put_u32(rsp, PSP_A_DEV_SPI_THRESHOLD, psd->config.spi_threshold)) goto err_cancel_msg; =20 genlmsg_end(rsp, hdr); @@ -193,6 +195,13 @@ int psp_nl_dev_set_doit(struct sk_buff *skb, struct ge= nl_info *info) =20 memcpy(&new_config, &psd->config, sizeof(new_config)); =20 + if (!info->attrs[PSP_A_DEV_PSP_VERSIONS_ENA] && + !info->attrs[PSP_A_DEV_CRYPT_OFFSET] && + !info->attrs[PSP_A_DEV_SPI_THRESHOLD]) { + NL_SET_ERR_MSG(info->extack, "No settings present"); + return -EINVAL; + } + if (info->attrs[PSP_A_DEV_PSP_VERSIONS_ENA]) { new_config.versions =3D nla_get_u32(info->attrs[PSP_A_DEV_PSP_VERSIONS_ENA]); @@ -200,9 +209,19 @@ int psp_nl_dev_set_doit(struct sk_buff *skb, struct ge= nl_info *info) NL_SET_ERR_MSG(info->extack, "Requested PSP versions not supported by t= he device"); return -EINVAL; } - } else { - NL_SET_ERR_MSG(info->extack, "No settings present"); - return -EINVAL; + } + + if (info->attrs[PSP_A_DEV_CRYPT_OFFSET]) + new_config.crypt_offset =3D + nla_get_u8(info->attrs[PSP_A_DEV_CRYPT_OFFSET]); + + if (info->attrs[PSP_A_DEV_SPI_THRESHOLD]) { + new_config.spi_threshold =3D + nla_get_u32(info->attrs[PSP_A_DEV_SPI_THRESHOLD]); + if (new_config.spi_threshold & PSP_SPI_KEY_PHASE) { + NL_SET_ERR_MSG(info->extack, "SPI threshold must not have bit 31 set"); + return -EINVAL; + } } =20 rsp =3D psp_nl_reply_new(info); --=20 2.45.4 From nobody Sat Jun 13 12:57:03 2026 Received: from mail-vk1-f225.google.com (mail-vk1-f225.google.com [209.85.221.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 512523976A3 for ; Mon, 6 Apr 2026 22:23:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514220; cv=none; b=Xb76c62xspkUqSBQ73quum+hIncjh6i4tYkkTA49ZjluS8+UHac292Icvm0JhR5mPqo3hRei+D4bQt7ToKxx/ZZHbBprhPs5ycmUrfBlMaH0VU15ZgEqbTiEDQRZVYcXZaspwFK3CnZW1Dc6SMuh3QUvlpOSFP2bHWtX88QNyb4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514220; c=relaxed/simple; bh=MLwDmmpHfE65H7If15lYaG1L4QPVow9RkP5TOYgp/c0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uYxZqN5qyw4BkPsa5a9WayE9WQlfBy/VdoosbP2/rNO3B4t9n+le28vH0MfcFAjSbaPSovmkHhwYzPUan3tGChdnLLM2WYws2alMuwVfhf5tA7MEfImcGpeBDuoRFHXe/HlkOFEoOzjbeD1cbtgQCmKlSVNmOWqbDpjLI53E1ZU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=LZm9wlld; arc=none smtp.client-ip=209.85.221.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="LZm9wlld" Received: by mail-vk1-f225.google.com with SMTP id 71dfb90a1353d-56d85e76d73so3321876e0c.2 for ; Mon, 06 Apr 2026 15:23:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775514216; x=1776119016; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/sPUbkng1QjzLAqAETuv6rluATxKmrRBMyISC2NL86A=; b=Qd0H7EXNHzU1aLKVNQBU8WEALZINpyiMH7pKIpGF19ynYQOtbn3qfGpJ3uQ6wPii5d ro0kZlbai1Ox9z66mWmkzZ4yQEmbVnbAPMUwN+NZwR+nSPsHJkYY+1dAtmnLsHt+MRs8 EO1EvTAiPucPojQ4FjDk79otvRc56vzScpIbINhtBZ/M4XE74vT6wqNK3FsHbRrHH4a+ G6N4us3TzKAFXCMAMOfEdRC4/SlfYNhz3HbKH8KhMC0FHUCs6sbPQFPoi53AsUDQmm0G yiavbgEic91kKCfcUk0TBinAhhSeybEqfA01oMLOr0+aSi/8oetJEK9smiqcNHqgAdht El8A== X-Forwarded-Encrypted: i=1; AJvYcCWxXSixe9dhARr1oSSydFgs7FYqlQT9rNI8Q5nTMQO3jWprylvzpq3TW1CM7ZxxL6Pd//AhcKDBemUDhXA=@vger.kernel.org X-Gm-Message-State: AOJu0YzCkdwWerJLAbivvwDcvf3uoj1FxeW5CQVlofZPAjHDdexI2ykA midzyOWw2vCfbc4CNnm6EpNFrxuHDBStuG6ZMTLwzH4Rzz8F3e/OY+6McqSWCma5CgWbOhOjriJ YE0BAfrGo7wPZurubYib2czXA5jwos88p7d+w6x5AdbgCEyiKc8e0DXtcQuRcKEtOw3gYo96+Lu YIGSUfNwTGD2RXaKw3px7e9ruN7XcM5H9l4xvW/ymfKO+9FvqcbAFDsie+TcxiPTquI/H0I9DFP 3Y3qCms41DQ0xXePf4rHh0nsqRF X-Gm-Gg: AeBDieu7TFSxtdqtW9leZHM9vfcRQXdT/nMG+aCl1Jf9tyK5A3CGMmRG8I8c6SyDCpb DoTjCxD424GIiwPlgXY7uGTzkB2EADMK9MPi0tRaqT+eIYkwPNevzaGVzPlk7rWXyMQM71Jh6Mn D+PuqznxNrSf6niX2YugsZjFA7quLYNLglOkpNh+h59HPxjLN3vNx8IdvPbxVwq0YRuLWv1ru/8 M9GGjOuTpq9rHX6Ov6qfvRd6rg9inLrw35yNXPSEfwF/nDeC+h4havXg8BktwfHzRmdpdP46gWZ nqONf6J/vmFpHKc1XgWoSUMGtFycwbMuI0qsb4cY3MjZNzzyEM3wQFkWtAOU2tIQw6e0f2FQQ4g Yop6XxcmQBPO8fCDgCtMfygzbjIPdlansh2ILoFxGCBu9LbHsOA5v3Ggm95mebLN7IVgSPb3upF GWmAMQpwswHf2mJakbHXk7RLVwgtgGjDAOxa2A/z/IbLXF/RBG65csfPsoASVlDOQ= X-Received: by 2002:a05:6102:80a3:b0:5ef:ac78:3c77 with SMTP id ada2fe7eead31-605a50156bbmr5944819137.18.1775514215936; Mon, 06 Apr 2026 15:23:35 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-24.dlp.protect.broadcom.com. [144.49.247.24]) by smtp-relay.gmail.com with ESMTPS id ada2fe7eead31-60582fe6f75sm1191894137.16.2026.04.06.15.23.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2026 15:23:35 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2ba8013a9e3so5316885eec.0 for ; Mon, 06 Apr 2026 15:23:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1775514215; x=1776119015; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/sPUbkng1QjzLAqAETuv6rluATxKmrRBMyISC2NL86A=; b=LZm9wlldkn1mH4fQ+X5+5jJij7+sO7zvaIifDbnOAroFiYuTtwLVi1d8O1xlNzybV9 hrS3PlivWQJBtPJH7VT2Xs+iRG7Q4GeiEqSryFyIcw640JlOPe0QTqz5jlho/98yCc2g vD8cYkAE7gs3rG1zq3VDxjV3VFAp6OXigue7E= X-Forwarded-Encrypted: i=1; AJvYcCXKc/TgWv5BCYGdIDhYl8A0laYB5iAYtT4q+JbznG/zRsL2uLocIYLvA/zlpV/1HKG7H49ylBN6RrzRjXk=@vger.kernel.org X-Received: by 2002:a05:7301:7306:b0:2cc:3684:d1 with SMTP id 5a478bee46e88-2cc368401b3mr4303739eec.28.1775514214930; Mon, 06 Apr 2026 15:23:34 -0700 (PDT) X-Received: by 2002:a05:7301:7306:b0:2cc:3684:d1 with SMTP id 5a478bee46e88-2cc368401b3mr4303725eec.28.1775514214419; Mon, 06 Apr 2026 15:23:34 -0700 (PDT) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2cb92ea0ef1sm11771909eec.21.2026.04.06.15.23.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 15:23:33 -0700 (PDT) From: Akhilesh Samineni To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org, willemb@google.com, daniel.zahka@gmail.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, jayakrishnan.udayavarma@broadcom.com, ajit.khaparde@broadcom.com, kiran.kella@broadcom.com, akhilesh.samineni@broadcom.com, sachin.suman@broadcom.com Subject: [PATCH net-next 2/3] netdevsim: psp: handle the new crypt-offset and spi-threshold get/set operations Date: Mon, 6 Apr 2026 15:23:04 -0700 Message-ID: <20260406222305.4111170-3-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> References: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" Implement the crypt-offset and spi-threshold get/set in netdevsim PSP. Signed-off-by: Akhilesh Samineni Reviewed-by: Kiran Kella Reviewed-by: Ajit Kumar Khaparde --- drivers/net/netdevsim/netdevsim.h | 2 ++ drivers/net/netdevsim/psp.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/netdevsim/netdevsim.h b/drivers/net/netdevsim/netd= evsim.h index c904e14f6b3f..3ad7d42391c0 100644 --- a/drivers/net/netdevsim/netdevsim.h +++ b/drivers/net/netdevsim/netdevsim.h @@ -117,6 +117,8 @@ struct netdevsim { struct psp_dev *dev; u32 spi; u32 assoc_cnt; + u8 crypt_offset; + u32 spi_threshold; } psp; =20 struct nsim_bus_dev *nsim_bus_dev; diff --git a/drivers/net/netdevsim/psp.c b/drivers/net/netdevsim/psp.c index 0b4d717253b0..9098edf00c5c 100644 --- a/drivers/net/netdevsim/psp.c +++ b/drivers/net/netdevsim/psp.c @@ -122,6 +122,11 @@ static int nsim_psp_set_config(struct psp_dev *psd, struct psp_dev_config *conf, struct netlink_ext_ack *extack) { + struct netdevsim *ns =3D psd->drv_priv; + + ns->psp.crypt_offset =3D conf->crypt_offset; + ns->psp.spi_threshold =3D conf->spi_threshold; + return 0; } =20 @@ -249,6 +254,7 @@ int nsim_psp_init(struct netdevsim *ns) if (err) return err; =20 + ns->psp.spi_threshold =3D PSP_SPI_THRESHOLD_DEFAULT; debugfs_create_file("psp_rereg", 0200, ddir, ns, &nsim_psp_rereg_fops); return 0; } --=20 2.45.4 From nobody Sat Jun 13 12:57:03 2026 Received: from mail-pl1-f226.google.com (mail-pl1-f226.google.com [209.85.214.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35DCC39F19E for ; Mon, 6 Apr 2026 22:23:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514226; cv=none; b=LCSoa8Ksle56mXd3htYoILpy8pFUmrsD0iX5pgYrUbzcdYQL1GXPthxAjIISBgy9P8UnTlNdcEMVTEuulsQMADbB572BTRRXFIRiHxkJw+1ZsnmWihdQmklGYYFkWBWEmpJgz06hh8Ju6SfTfOg5uYf2LLJhex1fOC+JBcwGLJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775514226; c=relaxed/simple; bh=eQqN3WwmL+GKV66eTNFDfzI/Xpo7OnGTSMQNKgBmduM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tGHk7sZIQJW3yXk1sM1KMJr/CAaiNZOfEWraohth65g3ng0WAeucy10PmnWJbq8zbmagwyO3RCYC1e8ODmIBWSPkI2CaEBsP7jywORG7pZjJBqVOjVeCnVoWVkz+zgiSpa5cu3G7X978Bx9atdwt5XWQWaZNj1asdqMxIqwbohs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=Ob+AoFJG; arc=none smtp.client-ip=209.85.214.226 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="Ob+AoFJG" Received: by mail-pl1-f226.google.com with SMTP id d9443c01a7336-2b2ae8a0103so1033945ad.0 for ; Mon, 06 Apr 2026 15:23:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775514222; x=1776119022; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fcKNgQxRCjege+WF/XA3NchdYviyxkpeHKiS3ggmS6Y=; b=khn/ntk599q8dL3pUjh8tevQ0RcLmudPIARkpiiHvXd1+3ooG3BSp6LiSXqv/XI5+c vjaYnlkiVbFaSzR+4nnwzN0VTqUl3HrQiV8Gmhx+jDMW0/0yY68+2ZsBX4MrUCT+lZ3U qg7abCCPwlN5/d0SwmpFS7sts3RmDL68cmQ7AW6SPgN+od3Un/+JjDtT2sVmCxbrqk9u pxRtAf7muev2sxAaXSaO18uunjN2zYh8ReI5a3ZSjd9eF1cr/gt4iuNYPcqClb6eRBa4 ZEbOXXi0D2KJct+1WCUfj/k8eb2igPTiLqJmoX9zCiBgUZYNrW/PG7DBT8e2FjiRWAbP 70vg== X-Forwarded-Encrypted: i=1; AJvYcCU1dTyJPxgMIYg7YvL8KI4jfBXu1w2z5by3Uys/y1eB5VgiDHgude4l/fUbkBDRzwYHS6vLVnbKTwGjv2w=@vger.kernel.org X-Gm-Message-State: AOJu0YzQRbqHCsjaeOiBvGkugrgaZIlrbz+T4axVgmwWrBymG5gG9S4s JZWU6QfECdjXNW6kO2N31Wmelpm9Mg1gewy50ShycDPEphkTblWlsMLscapApfD/3E/yVIWwfO0 TeVrEn6OpEIH6VO16PzNKWlKpkdwGGF0c4MJKxVSgmpqj9Xz7QOSgijmibA7JBCptMk7OmKI15O HrwpIfLXMk8CuhUI7azVcbBNGUwWBvlsL0kzHpUTKJmAEi/EoCaruXO5iUq3OUyeSmJ2jKB7FZ3 pzQMmLVJSqRDFDp43U6XRiZ29X0 X-Gm-Gg: AeBDiesZ/syk5H/zdEuxkwds32PMcuFxpBOSjJStYas5tw8awxbM2RQwHQ/lCa81qzW g6cbSWrHZ+/iWdvhpBqbZ9euAfoxNAqZaWhVhAua40ALVN5kjBCHdjhy4e6Q2yOiMMZyk5NbZX6 cGM7GsyuJwaTLCVt4R1RZteCU5pdPZFOTveXDnd34wrjJf7uPwY7oQqlyF7i6mK4tK3MqgwRwPa bKMsCBjeZnKuxQR5yx9SYgNKa7llow7tM/6qyhGRfiZ4/QAV66oMvLQ/3MhUmqgeWvvZfR5pIYB Y0SWuZYv784xi/1hRrHIlT8kaNKDuY42g6RUKVR5JvEfur7ZWYgOMNy0GSws4l/LHINohqqTll4 0fSTgn4eao1rw0Lm1TKd2csQu4cEZkBroO1mgYn+vlf1V//80WVA2xijFG6NzHZgamseMsL/yHZ U4LOqCjDukTInvF8M+ayMmjZ3lhnETinpZF0oRgzsRSCY+GKpCZs5rkspCoGelb5o= X-Received: by 2002:a17:903:3c45:b0:2b0:7026:24c2 with SMTP id d9443c01a7336-2b281793dc7mr148364875ad.36.1775514221537; Mon, 06 Apr 2026 15:23:41 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-24.dlp.protect.broadcom.com. [144.49.247.24]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2b27476e061sm10210185ad.21.2026.04.06.15.23.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2026 15:23:41 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2c0f6593ef5so6034905eec.1 for ; Mon, 06 Apr 2026 15:23:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1775514220; x=1776119020; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fcKNgQxRCjege+WF/XA3NchdYviyxkpeHKiS3ggmS6Y=; b=Ob+AoFJGsayGsJwzAo83AJ/LU1SrYe35bTizA1jRk1Q45TA1eYH+38E0pfkaA1eGBY /Dev+h7CEJr2nOxPE23ULW25wlsibWyLd+twtJM0K0jTwSqc7seojSGHkcaHNnBOhCly UwO7iJGmyFCxOC4AGUtQ2/ZRiRmmMmI2CjXFk= X-Forwarded-Encrypted: i=1; AJvYcCVqsZT5YoqgT1FcnCY+LKhbX14fqq/P14KDSsOi9yWbPWzIUdQyVWAhdUVhicbHdcCX/q4h/d3xxLFIliY=@vger.kernel.org X-Received: by 2002:a05:7300:1909:b0:2c1:3f85:747 with SMTP id 5a478bee46e88-2cbfc16e25dmr7463229eec.21.1775514219662; Mon, 06 Apr 2026 15:23:39 -0700 (PDT) X-Received: by 2002:a05:7300:1909:b0:2c1:3f85:747 with SMTP id 5a478bee46e88-2cbfc16e25dmr7463201eec.21.1775514219104; Mon, 06 Apr 2026 15:23:39 -0700 (PDT) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2cb92ea0ef1sm11771909eec.21.2026.04.06.15.23.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 15:23:38 -0700 (PDT) From: Akhilesh Samineni To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org, willemb@google.com, daniel.zahka@gmail.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, jayakrishnan.udayavarma@broadcom.com, ajit.khaparde@broadcom.com, kiran.kella@broadcom.com, akhilesh.samineni@broadcom.com, sachin.suman@broadcom.com Subject: [PATCH net-next 3/3] selftests: net: psp: add crypt-offset and spi-threshold test cases Date: Mon, 6 Apr 2026 15:23:05 -0700 Message-ID: <20260406222305.4111170-4-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> References: <20260406222305.4111170-1-akhilesh.samineni@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" Add test cases to set and get crypt-offset and spi-threshold attributes, verifying both the applied value and the restored prior value. Signed-off-by: Akhilesh Samineni Reviewed-by: Kiran Kella Reviewed-by: Ajit Kumar Khaparde --- tools/testing/selftests/drivers/net/psp.py | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tools/testing/selftests/drivers/net/psp.py b/tools/testing/sel= ftests/drivers/net/psp.py index 864d9fce1094..9253aab29ded 100755 --- a/tools/testing/selftests/drivers/net/psp.py +++ b/tools/testing/selftests/drivers/net/psp.py @@ -171,6 +171,38 @@ def dev_get_device_bad(cfg): ksft_true(raised) =20 =20 +def dev_set_crypt_offset(cfg): + """ Set and get the crypt-offset """ + _init_psp_dev(cfg) + + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + orig =3D dev['crypt-offset'] + cfg.pspnl.dev_set({"id": cfg.psp_dev_id, + "crypt-offset": 5}) + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + ksft_eq(dev['crypt-offset'], 5) + cfg.pspnl.dev_set({"id": cfg.psp_dev_id, + "crypt-offset": orig}) + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + ksft_eq(dev['crypt-offset'], orig) + + +def dev_set_spi_threshold(cfg): + """ Set and get the spi-threshold """ + _init_psp_dev(cfg) + + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + orig =3D dev['spi-threshold'] + cfg.pspnl.dev_set({"id": cfg.psp_dev_id, + "spi-threshold": 10}) + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + ksft_eq(dev['spi-threshold'], 10) + cfg.pspnl.dev_set({"id": cfg.psp_dev_id, + "spi-threshold": orig}) + dev =3D cfg.pspnl.dev_get({'id': cfg.psp_dev_id}) + ksft_eq(dev['spi-threshold'], orig) + + def dev_rotate(cfg): """ Test key rotation """ _init_psp_dev(cfg) --=20 2.45.4