From nobody Tue Mar 3 03:30:15 2026 Received: from mail-pf1-f228.google.com (mail-pf1-f228.google.com [209.85.210.228]) (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 364C2383C9A for ; Mon, 2 Mar 2026 19:54:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481275; cv=none; b=t78ztW1DB4ATIbvB/ed/qrL1nBoXstomNZMOTTy8EZeYr0LMavh5q8YLBj2JIx2FpB56uMFxMrIE+1mN6TKmuyq25hK5K4PuV9DdzC0eQLnAi31PPzir4PgB33szAtPHd2LRMqATaGuIE2s5+hOkt6sY4ZWZRqTEXdNsrQMUplk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481275; c=relaxed/simple; bh=wWQCRkOW4iqit3j0Cj5I/waGyxA4vH1GLCmRkmFZ2qU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V/PDkyfzi/yIwDv4v9fnE3lDrbt5iPhuoiD3NkhSpe/KLuChUhFdlnZIdFSnGoSZpSDZgr6aDnKkqxhxZEirajWVUeya2Zb2h5hG7Qt3k8/M9q7Zt/4MveSigEh2NbqZc0fbOq2nH7i6p+GNxaEgIj7E3egRHeivMRnXw/Irmls= 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=NkC6y0UE; arc=none smtp.client-ip=209.85.210.228 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="NkC6y0UE" Received: by mail-pf1-f228.google.com with SMTP id d2e1a72fcca58-82746ed8cb1so2462498b3a.3 for ; Mon, 02 Mar 2026 11:54:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772481272; x=1773086072; 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=jAaX3Kv2lAlE9d5YGhlxio3GXtW87/iaolDngHMpMnU=; b=Ea5EIDIdnWB/M7x4HuCImeyq3noxWmHIDFeanTUUpQYXNBe8P3RyigthsUoe0bCbtK mcppQx49SGi39vpid4tDyJ/3XDKcOgonCyUX3pEjhMXMXOa5//DiLWwjVGekj1TQ/nOg s0e2R2Z35qzhOEbqcjxJx7nOteZzw2f/BOCPfs5WaYFa8IOzYSmoDm6AfszKe8jgNRwI tiR3KFXvCf0wtnTRUHibZEoQRYwyU3dcejQXZlX7Yv2816BjnhQmVTMeEFuRvcASEMtG 0UFHpgwDEIfGO62t3LTURI+WX8YvYYFUsaLPPAF3e8HlQwakKxcUiH82x0i874QjMGuc /mjg== X-Forwarded-Encrypted: i=1; AJvYcCUPt7kZ9EW8j2SU7dkfIN79aK/EwpHaEym5dH1cSJlHiDQk0rXZBdcokWsJOMOni6aFeu+fBoVtQzZZw7c=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0SMMexiFNnX3taWffPBi+e3oJYJ8h4G1JMfP88Zw4lS6TL3i0 FvGQucjEO/R0c0K+uiUYJUsU0cvh3Q4GbadQAvcauWZt95BehR/gkZGht35R1BXb+zjeu2RJeEF oKPuDrN5e4AhJ3J754ZjxTUSnUJZXKWluGw2+7QI9MpWwjt5PSMcYjKVgBQbu9Y1wqGO7AJX5dl Jm6dYE8FD2Px/gU0/Gp36e8fb1SrLDqHjo3jk30qMfuobi1kCITFXvECJt79b9yGYfa9aV7SBcq Lj7gL32tJiVMHiriNnwU0xdmOm/ X-Gm-Gg: ATEYQzzi6cPtwH168fQS1o7rAMHwUVSVH2LWpZDy8RVgjWlBz8uCU1nBhKLSae2W9A9 pieQrnEsgUbCl9AJ3rd60cTzsHAuxTm/E63XtO0/bWAButzbTDweNjPIsz/BmRzLVbYUysgXZrL z6/DCfqwK2iUClktm2OyyPG3iz4H2dSckIhb8+gWGRICbGUVp6tDHpglZ/dgQ8/Tvcf2xT+zyw2 iydMCY5aNfylg4GKDUI0izlDCBKpRo5FAnNXfb7WMxVHWciexpua1J5fnR4rALcWo9A60mj8INL 3pz+dAoe7Je3/BKXBaTBoWeL8RNC2NCdLwac1ING0GI5Lecp/6iubXERKBPruRK04Bpb2YYcNHi P6kel9QcukbNRPtax5tin9VrbMlMPK1W+l1Js0xHv/l45ZGRVxmbzqko+yNWmA/AV11qxQJL27R i1xe722lykGtjr3myMjZms54NmaglW2Smter7r145hUGwBYrXyUWN16bwE5tmdFzrETA== X-Received: by 2002:a17:90a:e7d1:b0:359:8d70:c4ed with SMTP id 98e67ed59e1d1-3598d70c65dmr3766045a91.7.1772481272340; Mon, 02 Mar 2026 11:54:32 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-103.dlp.protect.broadcom.com. [144.49.247.103]) by smtp-relay.gmail.com with ESMTPS id 98e67ed59e1d1-3598c04a8basm641255a91.6.2026.03.02.11.54.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Mar 2026 11:54:32 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb37db8b79so3858805385a.3 for ; Mon, 02 Mar 2026 11:54:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1772481271; x=1773086071; 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=jAaX3Kv2lAlE9d5YGhlxio3GXtW87/iaolDngHMpMnU=; b=NkC6y0UEbLHtZpBJ1dvRrEfMWH6W1ywgEUTod6ef4BXd6avfBPO4CDmFpOfxp0KgrP xxvU3e7BWEtLQp6ea3ZCvNoQQH4ALfRaz4YAn45reopSpmC70B+DfvmDcuiJTX2d9O2W qb/u7bQ/ldkWs0fsAF7WLUx77A5Gp1R7KbAgo= X-Forwarded-Encrypted: i=1; AJvYcCUVuFyEVbM1z4kr+hpL3wEwqGDNM5N2n8Cgs+N82hGoIrEtjeuOe0AuaUYLIAzriJrLt1O1QXQemo/DpGI=@vger.kernel.org X-Received: by 2002:a05:620a:254b:b0:8b2:e058:de83 with SMTP id af79cd13be357-8cbc8d6f11cmr1666155085a.15.1772481271018; Mon, 02 Mar 2026 11:54:31 -0800 (PST) X-Received: by 2002:a05:620a:254b:b0:8b2:e058:de83 with SMTP id af79cd13be357-8cbc8d6f11cmr1666151785a.15.1772481270511; Mon, 02 Mar 2026 11:54:30 -0800 (PST) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cbbf736cfasm1208049285a.49.2026.03.02.11.54.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 11:54:30 -0800 (PST) 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: [net-next 1/3] psp: Support resetting statistics on a device Date: Mon, 2 Mar 2026 11:53:50 -0800 Message-ID: <20260302195352.1015990-2-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260302195352.1015990-1-akhilesh.samineni@broadcom.com> References: <20260302195352.1015990-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" Drivers may need to reset per-device PSP statistics to zero. Add a reset-stats netlink command and a corresponding optional driver callback to support this. 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 | 6 ++++++ include/uapi/linux/psp.h | 1 + net/psp/psp-nl-gen.c | 14 ++++++++++++++ net/psp/psp-nl-gen.h | 1 + net/psp/psp_nl.c | 24 ++++++++++++++++++++++++ 6 files changed, 59 insertions(+) diff --git a/Documentation/netlink/specs/psp.yaml b/Documentation/netlink/s= pecs/psp.yaml index f3a57782d2cf..e37ca142af54 100644 --- a/Documentation/netlink/specs/psp.yaml +++ b/Documentation/netlink/specs/psp.yaml @@ -272,6 +272,19 @@ operations: dump: reply: *stats-all =20 + - + name: reset-stats + doc: Reset device statistics. + attribute-set: dev + do: + request: + attributes: + - id + reply: + attributes: [] + pre: psp-device-get-locked + post: psp-device-unlock + mcast-groups: list: - diff --git a/include/net/psp/types.h b/include/net/psp/types.h index 25a9096d4e7d..7f9924e8ab0d 100644 --- a/include/net/psp/types.h +++ b/include/net/psp/types.h @@ -211,6 +211,12 @@ struct psp_dev_ops { * Stats must be filled in member-by-member, never memset the struct. */ void (*get_stats)(struct psp_dev *psd, struct psp_dev_stats *stats); + + /** + * @reset_stats: reset the statistics + */ + int (*reset_stats)(struct psp_dev *psd, struct netlink_ext_ack *extack); + }; =20 #endif /* __NET_PSP_H */ diff --git a/include/uapi/linux/psp.h b/include/uapi/linux/psp.h index a3a336488dc3..6e0c217a8366 100644 --- a/include/uapi/linux/psp.h +++ b/include/uapi/linux/psp.h @@ -74,6 +74,7 @@ enum { PSP_CMD_RX_ASSOC, PSP_CMD_TX_ASSOC, PSP_CMD_GET_STATS, + PSP_CMD_RESET_STATS, =20 __PSP_CMD_MAX, PSP_CMD_MAX =3D (__PSP_CMD_MAX - 1) diff --git a/net/psp/psp-nl-gen.c b/net/psp/psp-nl-gen.c index 22a48d0fa378..c8691f7a61ce 100644 --- a/net/psp/psp-nl-gen.c +++ b/net/psp/psp-nl-gen.c @@ -53,6 +53,11 @@ static const struct nla_policy psp_get_stats_nl_policy[P= SP_A_STATS_DEV_ID + 1] =3D [PSP_A_STATS_DEV_ID] =3D NLA_POLICY_MIN(NLA_U32, 1), }; =20 +/* PSP_CMD_RESET_STATS - do */ +static const struct nla_policy psp_reset_stats_nl_policy[PSP_A_DEV_ID + 1]= =3D { + [PSP_A_DEV_ID] =3D NLA_POLICY_MIN(NLA_U32, 1), +}; + /* Ops table for psp */ static const struct genl_split_ops psp_nl_ops[] =3D { { @@ -119,6 +124,15 @@ static const struct genl_split_ops psp_nl_ops[] =3D { .dumpit =3D psp_nl_get_stats_dumpit, .flags =3D GENL_CMD_CAP_DUMP, }, + { + .cmd =3D PSP_CMD_RESET_STATS, + .pre_doit =3D psp_device_get_locked, + .doit =3D psp_nl_reset_stats_doit, + .post_doit =3D psp_device_unlock, + .policy =3D psp_reset_stats_nl_policy, + .maxattr =3D PSP_A_DEV_ID, + .flags =3D GENL_CMD_CAP_DO, + }, }; =20 static const struct genl_multicast_group psp_nl_mcgrps[] =3D { diff --git a/net/psp/psp-nl-gen.h b/net/psp/psp-nl-gen.h index 599c5f1c82f2..67577c898f99 100644 --- a/net/psp/psp-nl-gen.h +++ b/net/psp/psp-nl-gen.h @@ -31,6 +31,7 @@ int psp_nl_rx_assoc_doit(struct sk_buff *skb, struct genl= _info *info); int psp_nl_tx_assoc_doit(struct sk_buff *skb, struct genl_info *info); int psp_nl_get_stats_doit(struct sk_buff *skb, struct genl_info *info); int psp_nl_get_stats_dumpit(struct sk_buff *skb, struct netlink_callback *= cb); +int psp_nl_reset_stats_doit(struct sk_buff *skb, struct genl_info *info); =20 enum { PSP_NLGRP_MGMT, diff --git a/net/psp/psp_nl.c b/net/psp/psp_nl.c index 6afd7707ec12..aa8960c8d4d1 100644 --- a/net/psp/psp_nl.c +++ b/net/psp/psp_nl.c @@ -277,6 +277,27 @@ int psp_nl_key_rotate_doit(struct sk_buff *skb, struct= genl_info *info) return err; } =20 +int psp_nl_reset_stats_doit(struct sk_buff *skb, struct genl_info *info) +{ + struct psp_dev *psd =3D info->user_ptr[0]; + struct sk_buff *rsp; + int err; + + if (!psd->ops->reset_stats) + return -EOPNOTSUPP; + + rsp =3D psp_nl_reply_new(info); + if (!rsp) + return -ENOMEM; + + err =3D psd->ops->reset_stats(psd, info->extack); + if (err) + goto err_free_rsp; + + return psp_nl_reply_send(rsp, info); + +err_free_rsp: + nlmsg_free(rsp); + return err; +} + /* Key etc. */ =20 int psp_assoc_device_get_locked(const struct genl_split_ops *ops, --=20 2.45.4 From nobody Tue Mar 3 03:30:15 2026 Received: from mail-ot1-f98.google.com (mail-ot1-f98.google.com [209.85.210.98]) (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 94C9F385507 for ; Mon, 2 Mar 2026 19:54:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481282; cv=none; b=bFTEkNK+mlipbMpgZVyRvmohSJsYyaDKJJydFJaXkbN16cAP0sz0GSn4UMRlSZ1Ljfy2Bo8SyKWqd9a0bdrr7PcJqWIi97gI10pXrIqyoQ5YvXq/6hs2d1UmrHo3mlC5qhn2wxEzdu9GbHRCyIccvPRrGI523fqsAo0BRLM2VYc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481282; c=relaxed/simple; bh=WUwGJD0pWzW4QiYZ0NkHgvIb2Xz4SfrboA1bkSyZDN8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kcp5M16TetuOEznkeSYvUl29itIvVV6lwTbEkU8AMUTlC76nAGvlIp8/61TvgscVyMtAr/Vb2/EXGANbxZh2zRfCRYCLOXibbbMX3SrSpT7I3x6ZWlUJKUbXHdrCqB3lEjnP20QaQoC8/uIGvreIV1EO0he8V+Nh21gaJmWKrTA= 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=bhTDqEen; arc=none smtp.client-ip=209.85.210.98 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="bhTDqEen" Received: by mail-ot1-f98.google.com with SMTP id 46e09a7af769-7d596ab0917so2890208a34.1 for ; Mon, 02 Mar 2026 11:54:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772481280; x=1773086080; 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=TJGdTjCWcN7+FPK2Rcu4FQwQzwIIdasxcvxeVm4EkoI=; b=L7OmRUcGVO3A0QFYPEWpLP08oenGiMEcoC+E1w4i5mmgsQkzbjFlyN9w0CcMEG9QT1 BnlUKAldBf/BdCqlsVzm83Ovkq5xUrqlsYEzR0giKwt7tNgMvmgS62t1dMOXBepyefHf EauCjzuFVHrNQvyB47KDxCLi9MEFKZpAmv+g1Zg5MuHcjFN6rzaEFNZRUOjZrUpKNxHY 6KIr1VUR+Jwqt/8H11/QU6sBkMLCPFhRgxnW6a7W8yxsNGiKSjWb1eePsf9QCA6RORex NdkseSlQilMzLCeH/PoWr5O7uPawLFkWbI79w/ltEuRstvFJyYCsI2ex60goMaeG+VKu qFDA== X-Forwarded-Encrypted: i=1; AJvYcCWofEO1hxYyQxtS3+PreC5LNaZo0V9G4cMpB6j67RPg9QRWGMkhRcYbXf5OVqYjvQ3fEfAnwghUh+ON31k=@vger.kernel.org X-Gm-Message-State: AOJu0YxKk+9MkyPbWa00I7G6lwFU5p623G/OCe68fUCuqHUeEXnCC3Xu QdQ6OMXT7PDocLofJhgixuHrQjSR5TTFbr2+RldQSCVVel7g0DgrwkAZOB/wFcik+pGKlO3rAQM vDy7YhYQ/Gek9Z1z/OBhjW9z629/ZGqvViTIg+FynilP2t3hSvhBoI71k4EFqbsDRHeRfRz4GOS oSAs/wvn1D83h9LNmedkuLilWUDrAs0SNH0iwMEnKh09Y6ukaZ66I+YQFtWGCS1Hnv0xfsEM4TK cuGiFZ5tqCNpMv/bnas/imZizq5 X-Gm-Gg: ATEYQzzNlsMN2Q8siAjRXKdqLUA7iDJrGc3oUluz020F1uOKJEVM3OyhJAW2ow36Cur WwjaohHqexCWC0pMUe5rytOkOI182JjCO7SpXqbzK2ofLV/cTfGTA2ze1DxkeTPaW7t5Ut0bW2s yw6iApqfbSI16NQTVGpPDmZVSKUi0UUlhuVBFbxeTf765nyHO7iqA3/+SXWIALzsyLpCBo543P4 edvb/4W2Dm9yBjZ09Lm+0CMElTVasjkD4jF3WwrvEws90/L9e3SF1SeptR/4bLzWUXXzkoU4Iap NSVkYq/h3bOPNCpdhK1gaBsSENXtLy0EFhMnY4bmL/S0YRAaJSzFytBsU303qsgP4bxBAHlfbZe 3759zyfCOumZiU6oReUe79YB5swQoWjfj+PQTZKC5xIIA4OayitC8L948ZseMtgvSgWkWthi0Tp 4IOuyDwerrJIbMJ6LAIEU0LYBz+bnchjT2rJRnQMw+Jn01ha5657MC/ufZ1UMdgPUfpA== X-Received: by 2002:a05:6830:6d0e:b0:7d4:bca1:1d9d with SMTP id 46e09a7af769-7d591eb844fmr9619899a34.11.1772481280490; Mon, 02 Mar 2026 11:54:40 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117]) by smtp-relay.gmail.com with ESMTPS id 46e09a7af769-7d58661c821sm1691523a34.6.2026.03.02.11.54.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Mar 2026 11:54:40 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-89a0684d05dso21346516d6.1 for ; Mon, 02 Mar 2026 11:54:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1772481279; x=1773086079; 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=TJGdTjCWcN7+FPK2Rcu4FQwQzwIIdasxcvxeVm4EkoI=; b=bhTDqEenr7hkSCBQ+U5wHiLauq508vnon6z0/DlSJjaJImVuEL010+CUD1soQWi6cY o1qRnKxieEfYWSc4VgwanoB/TeTlbyE1gwLpaDuxGPz3wq/K8K58hVZaB8Bp/NKUW2jv YTVzxj+bZnhTdGlFRJchnP5fZHi/35dFWXYWU= X-Forwarded-Encrypted: i=1; AJvYcCXFKMrCJkVPr9CvvqjGKOgD7/O2pNw730S3NnYOcneg69RPles38E7p9I5c9wnlxgHW06/C3imkulG2QVU=@vger.kernel.org X-Received: by 2002:a05:620a:29c1:b0:8ca:33d7:8be9 with SMTP id af79cd13be357-8cbc8ce73d0mr1861217785a.28.1772481279559; Mon, 02 Mar 2026 11:54:39 -0800 (PST) X-Received: by 2002:a05:620a:29c1:b0:8ca:33d7:8be9 with SMTP id af79cd13be357-8cbc8ce73d0mr1861214485a.28.1772481279058; Mon, 02 Mar 2026 11:54:39 -0800 (PST) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cbbf736cfasm1208049285a.49.2026.03.02.11.54.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 11:54:38 -0800 (PST) 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: [net-next 2/3] netdevsim: psp: Handle statistics reset Date: Mon, 2 Mar 2026 11:53:51 -0800 Message-ID: <20260302195352.1015990-3-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260302195352.1015990-1-akhilesh.samineni@broadcom.com> References: <20260302195352.1015990-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 reset_stats for netdevsim PSP so that the reset-stats netlink command works. Signed-off-by: Akhilesh Samineni Reviewed-by: Kiran Kella Reviewed-by: Ajit Kumar Khaparde --- drivers/net/netdevsim/psp.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/netdevsim/psp.c b/drivers/net/netdevsim/psp.c index 0b4d717253b0..d4bede67f283 100644 --- a/drivers/net/netdevsim/psp.c +++ b/drivers/net/netdevsim/psp.c @@ -192,6 +192,19 @@ static void nsim_get_stats(struct psp_dev *psd, struct= psp_dev_stats *stats) } while (u64_stats_fetch_retry(&ns->psp.syncp, start)); } =20 +static int nsim_reset_stats(struct psp_dev *psd, struct netlink_ext_ack *e= xtack) +{ + struct netdevsim *ns =3D psd->drv_priv; + + u64_stats_update_begin(&ns->psp.syncp); + u64_stats_set(&ns->psp.rx_bytes, 0); + u64_stats_set(&ns->psp.rx_packets, 0); + u64_stats_set(&ns->psp.tx_bytes, 0); + u64_stats_set(&ns->psp.tx_packets, 0); + u64_stats_update_end(&ns->psp.syncp); + return 0; +} + static struct psp_dev_ops nsim_psp_ops =3D { .set_config =3D nsim_psp_set_config, .rx_spi_alloc =3D nsim_rx_spi_alloc, @@ -199,6 +212,7 @@ static struct psp_dev_ops nsim_psp_ops =3D { .tx_key_del =3D nsim_assoc_del, .key_rotate =3D nsim_key_rotate, .get_stats =3D nsim_get_stats, + .reset_stats =3D nsim_reset_stats, }; =20 static struct psp_dev_caps nsim_psp_caps =3D { --=20 2.45.4 From nobody Tue Mar 3 03:30:15 2026 Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.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 9F399383C8F for ; Mon, 2 Mar 2026 19:54:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481288; cv=none; b=rbLDFA2UJ4P15hBA5w7XQafPm6k7Hwy7F0KV1cmXq8nI6gM3EZH8q51CwUmLz8vEh/7uOd1sQ3CbVYatDYxk0aGGXyQFSmNrzvoy6YOXeCIlc6ioU6qWgw6DtPOYV4n4edR+RRk1+/jB7s/m7rHto1SSrGhqAaKBvgEBWCnz83A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772481288; c=relaxed/simple; bh=+uwb0WSaraRgZ7tUo9HYkLnOugrzTXtBTQZLSH+fIcw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tOEZMptCyp0lQwK38VVIGR3iVF98JH+idEkyqlrBo0H97sUOrL6OoUXttg9MRq8lGQSwXvRSve6ti2Y8ugJ5aQM9Qm9hMcWDhNqq/hbTEw7TMjluU+GC9qW5D4XtDaPYVtg2D4x7V4SzroEKR2aLL1+tIzPknIT9DlFEZ10RO+o= 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=UWcCNUL8; arc=none smtp.client-ip=209.85.214.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="UWcCNUL8" Received: by mail-pl1-f225.google.com with SMTP id d9443c01a7336-2ad617d5b80so31025965ad.1 for ; Mon, 02 Mar 2026 11:54:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772481287; x=1773086087; 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=xIZFwA51nNys2/FTKh4DEqdlwUn34Jlb5NBGGS/ohWs=; b=dRdTBjOhEDVRB9exo92eYzohxaUULh8AP/3Phvoyz6Fn7GMclsa+UzKTMemslhKOho c3cLiHqTF9lKLucYFE0KZKxaWm/h2g23a113LEd1Nw07/fiTtnUcytxB7jfBT76cAi1c Pdb7a+lqo3gsAdOXQNZM7yQdYfr580xkKySzgtX7W0m7R9OBuG/arnuOtixs/pIHzXCG 2XcWVsH0KJABUdVRQWAGWAH2W+O1nt/sLgAv6HHNlb3GFUrODKyoDvd46xM5MXWy5Opm jUVjEDQixYSufPfl+L+6wk8upLi8HPnnt5K/ZXEfno/LExWWbsQ19Nii5cibYPxy0rsi s7MQ== X-Forwarded-Encrypted: i=1; AJvYcCUWTynjtb0/XPEdOdy2oL1QkyyNX7xEFLE0BZPswXBUpjZmf8927aozYfceSucOdf5CMw9old+mBsrjv+8=@vger.kernel.org X-Gm-Message-State: AOJu0YwOQlsDCGmFgjGU90SCwA01NbxUGloLXhfNm/QgFNXsjWjzxHtC PMLKkleyR7MCfBWb8en6YJYgSWuFbMMI0/7k4178FKAsFpzBWnSwykXTwjZxYwU89weezXTRGSD YONAZC5+rsywMFaWdKPi5IcjkF+z8qfVPVSOLrjH+S/gNTiFFBmG1DgYtKAyTvQLGoeRvEHl86m 0Mb41x4VNHNMtrFpnUTYdpLYR3d5ETvMD/YX5+G2G/29REL7/H7DJqUGnGMCruRCERgTNJzAPFh lCMVWhrG4oG6bE6nQbx1hmYOZFY X-Gm-Gg: ATEYQzxjPvSpMBvkRaDCDvbNuP5WOQVUyi88ZN+y030eFUTTPYLr00JlJXqGrPMe370 1p2qR8E0AxVQ8TzhyvwceDyi1+XGF4vxRQiBFjsdIrkRN3Uv1FkS4lUyC+XOprrvTSmITkWzspc 3+7Tfmred0yNzhdaZzXtUBapQGTK4LsiSQXbPz6VkIOPtkw8xg3zkV2JebzZtmKHfWfR83l1gL1 d+PpwqAhcjmdIW4eNJLBTFY55idAe0QyS/CUUci30esGa2rlEeOkXV3oytjUb/eLsMukiAtw0Kj mV998jdxDhv7vFO9XNU5e0rTl1b4RKRGAqo41y99oqbMplxZ1/SQyLv5jjrxXJkGU5oJMrc4tT4 Ai4imVI/hl9LpEvdjpg1GLLz8XgxoOcLd9jgNRcUhYHF4cwrwZeGMTWemfF9+2aur37vW+H3wD/ TjsMjH54HXi4eOwRz/va7Bfm5g3NQVEUzSWOZJvOu+IQo7eCyXsWxrMt1nEXZECgwLAA== X-Received: by 2002:a17:902:d486:b0:2a9:327f:aa2f with SMTP id d9443c01a7336-2ae2e496a60mr150185945ad.26.1772481286983; Mon, 02 Mar 2026 11:54:46 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2adfb5dbaf3sm17872765ad.27.2026.03.02.11.54.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Mar 2026 11:54:46 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c70b6a5821so2976066285a.0 for ; Mon, 02 Mar 2026 11:54:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1772481286; x=1773086086; 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=xIZFwA51nNys2/FTKh4DEqdlwUn34Jlb5NBGGS/ohWs=; b=UWcCNUL8DaEzExIUGwAp0znOO5OkMxob2GmmmFHwoBuaAw6ko9RYyd/bG7sBVufeSy FPe16HeKAM3kBw5WQS3AGLcPVGtGy8hmU91izCcp/BmVKuazy7ucjQzv9fwJ7P3pMQXN MwwGSq/sLZpi/HgtrwwTuWEAWFKiLKb3yJjNk= X-Forwarded-Encrypted: i=1; AJvYcCUoDCF+F8pXnVvQ2Lg+npcaW/C7K9L87IGBOBjgy2344WKxZxNAn10ParKE1Ef9ALtL9Tb1oQeSHvlwgKA=@vger.kernel.org X-Received: by 2002:a05:620a:1a92:b0:8ca:110b:38cc with SMTP id af79cd13be357-8cbc8d867ddmr1755776585a.27.1772481285608; Mon, 02 Mar 2026 11:54:45 -0800 (PST) X-Received: by 2002:a05:620a:1a92:b0:8ca:110b:38cc with SMTP id af79cd13be357-8cbc8d867ddmr1755774485a.27.1772481285092; Mon, 02 Mar 2026 11:54:45 -0800 (PST) Received: from lvnvdb0691.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cbbf736cfasm1208049285a.49.2026.03.02.11.54.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 11:54:44 -0800 (PST) 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: [net-next 3/3] selftests: drv-net: psp: add reset statistics test Date: Mon, 2 Mar 2026 11:53:52 -0800 Message-ID: <20260302195352.1015990-4-akhilesh.samineni@broadcom.com> X-Mailer: git-send-email 2.45.4 In-Reply-To: <20260302195352.1015990-1-akhilesh.samineni@broadcom.com> References: <20260302195352.1015990-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 get stats and reset stats verification within _data_basic_send() to exercise the reset-stats netlink command in the data path test. Signed-off-by: Akhilesh Samineni Reviewed-by: Kiran Kella --- tools/testing/selftests/drivers/net/psp.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/testing/selftests/drivers/net/psp.py b/tools/testing/sel= ftests/drivers/net/psp.py index 864d9fce1094..b7a59d0dbe25 100755 --- a/tools/testing/selftests/drivers/net/psp.py +++ b/tools/testing/selftests/drivers/net/psp.py @@ -113,6 +113,9 @@ def _check_data_outq(s, exp_len, force_wait=3DFalse): def _get_stat(cfg, key): return cfg.pspnl.get_stats({'dev-id': cfg.psp_dev_id})[key] =20 + +def _reset_stat(cfg): + cfg.pspnl.reset_stats({"id": cfg.psp_dev_id}) + # # Test case boiler plate # @@ -389,8 +392,22 @@ def _data_basic_send(cfg, version, ipver): "tx-key": tx, "sock-fd": s.fileno()}) =20 + _reset_stat(cfg) + rx_packets =3D _get_stat(cfg, 'rx-packets') + rx_bytes =3D _get_stat(cfg, 'rx-bytes') + ksft_eq(rx_packets, 0) + ksft_eq(rx_bytes, 0) data_len =3D _send_careful(cfg, s, 100) _check_data_rx(cfg, data_len) + rx_packets =3D _get_stat(cfg, 'rx-packets') + rx_bytes =3D _get_stat(cfg, 'rx-bytes') + ksft_ne(rx_packets, 0) + ksft_ne(rx_bytes, 0) + _reset_stat(cfg) + rx_packets =3D _get_stat(cfg, 'rx-packets') + rx_bytes =3D _get_stat(cfg, 'rx-bytes') + ksft_eq(rx_packets, 0) + ksft_eq(rx_bytes, 0) _close_psp_conn(cfg, s) =20 =20 --=20 2.45.4