From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2699B36683D; Wed, 1 Jul 2026 03:14:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=67.231.148.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782875660; cv=none; b=E0KiBTQ+V6Due781kJ5narBrynQlvvIxTV+HUZ7S9G4E9TOxX5NQHvrB8RRsiqyZzZIbse0ng9S54GybqroQynMkeeNHbLCLMsESg42ZZiFZDUtcyIYGoYvsxdA6ntxaBfLmtubumxLcwDtH1uXF4WpgQvGk5G0t3DjOP/3cQXE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782875660; c=relaxed/simple; bh=mLBRBdn2eVFYhHW5dubjZli7nOaoNSfoT+oxa5Y9w/M=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=Wio/qXtGVN21c1PmZLclmxWN4PCN8KKvtGsjN9/TfNGGZbUFrem0TSh3k4QG7NSVOdeYXJKXlLeFZw72Z5lnCrxVFxIGrnzM0z+2vszmeBYf2WdqXfE86YEZ/jEcLUOIoDcz5cunM8FyI2sBdEBTqOaEtLcawlZpfYMXKC7KsJ4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=marvell.com; spf=pass smtp.mailfrom=marvell.com; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b=cW/8xCQH; arc=none smtp.client-ip=67.231.148.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=marvell.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=marvell.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="cW/8xCQH" Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6612vnq32207555; Tue, 30 Jun 2026 20:14:08 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=pfpt0220; bh=XCIkOVAOaX4hjihCf83uoeE n9rqPncTt15Wnd0o0Kw8=; b=cW/8xCQHNDb7eRdYe9H9TT4N7ul6Q2ZCak4c8WX ebxALaQkWRkPL8FGL0OT71HJvqEZW0SNLDeTDjQoAvtcUL6laz4VpyP8JZtqmNoa bpInE6QfZ6rZcihbyNR6pFNyJ/20ERorQQBxYsakQom2tclUroQz3sLdp/RhjBiF /Iy5G/1A9AkMvhvumF3OpTr6QHIOmynckiSSrVqKKol0HDCgu/OHkDY31wMBr6at gU0zz0bPy1gNMOP86Lr3AUrZuydeHmWyonC1osU4Otf7PTFT8BQiphqaKz7tabAb kr77VsEguS6qGHHhU7zD1vv9nLsxWaXgFRcYD4XP2FgHycg== Received: from dc6wp-exch02.marvell.com ([4.21.29.225]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4f4cty3b4c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 20:14:08 -0700 (PDT) Received: from DC6WP-EXCH02.marvell.com (10.76.176.209) by DC6WP-EXCH02.marvell.com (10.76.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.25; Tue, 30 Jun 2026 20:14:06 -0700 Received: from maili.marvell.com (10.69.176.80) by DC6WP-EXCH02.marvell.com (10.76.176.209) with Microsoft SMTP Server id 15.2.1544.25 via Frontend Transport; Tue, 30 Jun 2026 20:14:06 -0700 Received: from rkannoth-OptiPlex-7090.. (unknown [10.28.36.165]) by maili.marvell.com (Postfix) with ESMTP id 77A4F3F70B8; Tue, 30 Jun 2026 20:14:03 -0700 (PDT) From: Ratheesh Kannoth To: , , , , CC: , , , , Subject: [PATCH iproute2-next v3 0/2] devlink: support u64-array devlink parameters Date: Wed, 1 Jul 2026 08:43:57 +0530 Message-ID: <20260701031359.839221-1-rkannoth@marvell.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Authority-Analysis: v=2.4 cv=etnvCIpX c=1 sm=1 tr=0 ts=6a448600 cx=c_pps a=gIfcoYsirJbf48DBMSPrZA==:117 a=gIfcoYsirJbf48DBMSPrZA==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=l0iWHRpgs5sLHlkKQ1IR:22 a=EAYMVhzMl8SCOHhVQcBL:22 a=VwQbUJbxAAAA:8 a=M5GUcnROAAAA:8 a=snJZ9v3O13RfP-hfMHkA:9 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzAxMDAzMSBTYWx0ZWRfX56sUVhmXeuYG cxKIgh6bsd3yFRsnSgZGmeG+7VzuB3caS29KjEh3AN0YhhSFHctNnOs44zNA+L55VhxURfVVQxg /USPklFDgUi16x00uJT9l2PcLCGLRas= X-Proofpoint-GUID: LVY4h-kPwQTEwhNfXC8ra23WnrZuUVSP X-Proofpoint-ORIG-GUID: LVY4h-kPwQTEwhNfXC8ra23WnrZuUVSP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzAxMDAzMSBTYWx0ZWRfX4rdQwFm+BIbR q8UYPTTVmJJwI85bE6bQBvmGT4CZzs5vEOMBDjmTMfBO7H7udHvAOSXZe1WwbKSj2NbRBlAT+5V zA2s8zFSJOt83jYAXzvRuMBD4pTftFK5LnlMMpLG8c3J2bZq9l3I/xpAfhfi42IgpyR4IsJnUPf AjuUOYdbvBGfEkdUuW6GK5FlRThClPc6Rnb0NDP6o8DbjXx7idpb4SSNt6RmKvqleRWEINvfU3h gfBG6uJbISga9hvbOl05WoG+Nf2w4Ldg+DXCiQQEus3fyXVoYM6/lBijkaAeS27rbq50+Xib2Lu 8zxnLXeW6nHWcAADfDUnatO+bM4munwgFbEe5Uu+Iw4ePLzza4Gs+6pDuQ1ud243SYvuqYfzEBb 92grE2UCAytTcSLdN4YLJt4kDtcfPJ7TRIpOKzcBt09nchf4A7B0MsA3IrFtxheg+o9On+MSRIi A5Vk1EMm9NI4WxXESng== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-07-01_01,2026-06-26_01,2025-10-01_01 The kernel gained support for devlink parameters of type DEVLINK_VAR_ATTR_TYPE_U64_ARRAY. These parameters carry a variable-length list of u64 values encoded as multiple DEVLINK_ATTR_PARAM_VALUE_DATA attributes. This is used by drivers that need to expose ordered lists of configuration values, such as the Marvell CN20K npc_srch_order parameter. This series updates the devlink tool to handle the new UAPI and adds show/set support for u64-array parameters on both device and port params. Patch 1 switches devlink param show/set to use DEVLINK_VAR_ATTR_TYPE_* constants instead of generic MNL_TYPE_* values when interpreting DEVLINK_ATTR_PARAM_TYPE. The kernel now reports param types using devlink_var_attr_type, so userspace must use the matching symbols. Patch 2 adds parsing, display, and configuration support for DEVLINK_VAR_ATTR_TYPE_U64_ARRAY. Values are shown as a space-separated list of u64 elements. Setting accepts a space- or comma-separated list and emits one DEVLINK_ATTR_PARAM_VALUE_DATA attribute per element. Tested on CN20K hardware with npc_srch_order: # show search order devlink dev param show pci/0002:01:00.0 name npc_srch_order pci/0002:01:00.0: name npc_srch_order type driver-specific values: cmode runtime value value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # set search order devlink dev param set pci/0002:01:00.0 name npc_srch_order \ value 31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 \ cmode runtime Ratheesh Kannoth (2): devlink: use DEVLINK_VAR_ATTR_TYPE_* in param show/set devlink: support u64-array values in devlink param show/set devlink/devlink.c | 178 ++++++++++++++++++++++++++++++++--- include/uapi/linux/devlink.h | 1 + 2 files changed, 164 insertions(+), 15 deletions(-) -- v2 -> v3: Addressed David comments https://lore.kernel.org/netdev/akSCBN0N_7ug1-Fy@rkannoth-OptiPlex-7090/ v1 -> v2: Addressed David comments https://lore.kernel.org/netdev/20260615041042.549715-1-rkannoth@marvell.com/ 2.43.0