HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/mellanox_firmware.cpython-310.pyc
o

([Qh��@s6ddlZddlZddlmZmZGdd�dee�ZdS)�N)�Plugin�IndependentPluginc@s8eZdZdZdZdZdZdZdd�Zdd	�Z	d
d�Z
dS)
�MellanoxFirmwarez&Nvidia(Mellanox) firmware tools output�mellanox_firmware)�hardware�system)�mst�mstflintzMellanox TechnologiescCs$|�d�}|ddko|j|dvS)z�
        Checks if this plugin should be executed at all.
        We will only enable the plugin if there is a
        Mellanox Technologies network adapter
        �lspci -D -d 15b3::0200�statusr�output)�exec_cmd�MLNX_STRING)�self�lspci�r�F/usr/lib/python3/dist-packages/sos/report/plugins/mellanox_firmware.py�
check_enableds
zMellanoxFirmware.check_enabledcCs�|�d�s|�d�dS|�d�}|ddkrdS|�d�}|ddkr&dS|�d�|jdd	d
�|jdd	d
�t�d�}g}|D]}d
|vrM|�|�qB|D]}|jd|�d�d	d
�|jd|�d�d	d
�qP|jddd�dS)N�allow_system_changesztSkipping mst/mlx cable commands as system changeswould be made. Use --allow-system-changes toenable this collection.�flint --versionrrz	mst startz
mst cable addz
mst status -v�
��timeout�	mlxcablesz/dev/mst�cablez
mlxcables -d z --DDMz --dumpzmst stopT)�changes)�
get_option�	_log_infor
�collect_cmd_output�os�listdir�append)r�coutr�device�mlxcablerrr�collect#s4






���zMellanoxFirmware.collectc		Cs g}|�d�}|ddkrdS|d��D]
}|�|dd�d�qt|�}g}|�d�}|ddkrFdd	gd
dgd
dgd
dgddgg}nddgdd	gddgddgddgddgddgg}|D].}|D]}|j|d�d|�d|d��dd�qctd�D]}|�d|���t�d�q}q_dS)Nr
rrr�z00.0rz
mstconfig -d z -e qzmstflint -d z dcz qz
mstreg -d z --reg_name ROCE_ACCL --getzmstlink -d �zmlxdump -d z pcie_uc --allz	flint -d z
mlxreg -d zmlxlink -d zfwtrace -d z -i all --tracer_mode FIFO� ��r�zmstdump )	r�
splitlinesr!�setr
�add_cmd_output�range�time�sleep)	r�devices�device_list�line�commandsr"r#�command�_rrr�setupCsH

��	����zMellanoxFirmware.setupN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�packagesrrr%r8rrrrrs	 r)rr0�sos.report.pluginsrrrrrrr�<module>s