Register values set with `mlxreg` are not persistent across reboots
kcgthb opened this issue · 4 comments
When setting a register on a switch with mlxreg
, the written values are not persistent and are lost after a reboot (the register value is reset to its default value).
Here's an example trying to modify the node_description[0]
field in the SPZR
register for a MQM8790 switch (fw 27.2010.3118) using MFT 4.23:
-
checking the original value:
# mlxreg -d lid-801 --reg_name SPZR --get --indexes router_entity=0x0,swid=0x0 | grep "node_description\[0\]" node_description[0] | 0x5175616e
-
trying to set a new value to
0x00000000
:# mlxreg -d lid-801 --reg_name SPZR --set 'ndm=0x1,node_description[0]=0x00000000' --indexes router_entity=0x0,swid=0x0 --yes You are about to send access register: SPZR with the following data: Field Name | Data ===================================== enh_sw_p0 | 0x00000000 g0 | 0x00000000 ng | 0x00000000 sig | 0x00000000 mp | 0x00000000 vk | 0x00000000 cm | 0x00000000 enh_sw_p0_mask | 0x00000000 ndm | 0x00000001 cm2 | 0x00000000 router_entity | 0x00000000 swid | 0x00000000 capability_mask | 0x4450d848 system_image_guid_h | 0xb83fd203 system_image_guid_l | 0x00d7f97a guid0_h | 0xb83fd203 guid0_l | 0x00d7f97a node_guid_h | 0xb83fd203 node_guid_l | 0x00d7f97a capability_mask2 | 0x0000003b max_pkey | 0x00000008 node_description[0] | 0x00000000 node_description[1] | 0x74756d20 node_description[2] | 0x4d656c6c node_description[3] | 0x616e6f78 node_description[4] | 0x20546563 node_description[5] | 0x686e6f6c node_description[6] | 0x6f676965 node_description[7] | 0x73000000 node_description[8] | 0x00000000 node_description[9] | 0x00000000 node_description[10] | 0x00000000 node_description[11] | 0x00000000 node_description[12] | 0x00000000 node_description[13] | 0x00000000 node_description[14] | 0x00000000 node_description[15] | 0x00000000 ===================================== Do you want to continue ? (y/n) [n] : y Sending access register... # echo $? 0
-
checking that the new value has correctly been set:
# mlxreg -d lid-801 --reg_name SPZR --get --indexes router_entity=0x0,swid=0x0 | grep "node_description\[0\]" node_description[0] | 0x00000000
-
rebooting the switch
# flint -d lid-801 swreset -I- Sending reset command to device lid-800 ... -I- Reset command accepted by the device.
-
checking the value again:
# mlxreg -d lid-801 --reg_name SPZR --get --indexes router_entity=0x0,swid=0x0 | grep "node_description\[0\]" node_description[0] | 0x5175616e
After the switch reboot, the node_description[0]
attribute has been reset to the initial, default value (0x5175616e
) and the value that has been set previously (0x00000000
) is lost.
Is this an issue with mlxreg
, or with the switch firmware?
Thanks!
Thank you for your contribution to the mstflint repository! This issue has been flagged as inactive for over a year and is now considered stale. It will be closed within the next 90 days unless there is any new activity. If you believe this issue is still pertinent and should remain open, please leave a comment here, and the stale status will be removed.
The issue is still pertinent.