a >h @s&ddlmZmZGdddeeZdS))PluginIndependentPluginc@s$eZdZdZdZdZdZddZdS) InfinibandzInfiniband informationZ infiniband)Zhardware)zlibibverbs-utilsZopensmZrdmazinfiniband-diagsc s|gd|d|gdgd}d}||rF||ng}|D]V}|dr`qN|||dD]0}||d|d }zRt|d d d 0}|}|d krWdWqrWdn1s0YWntyYqrYn0||d|d} zXt| d d d 4} | } | ds@WdWqrWdn1sV0YWntyzYqrYn0d|d||fdd|DqrqNdS)N)z/etc/ofed/openib.confz/etc/ofed/opensm.confz /etc/rdmaz/var/log/opensm*)Z ibv_deviceszibv_devinfo -vZibstatZibstatusZ ibswitches)ZibhostsZ iblinkinfoZsminfoZ perfqueryz/sys/class/infiniband/Zhfiz/portsz/ports/z /link_layerrzUTF-8)encodingz InfiniBand z/statez : ACTIVE z-C z -P csg|]}|dqS) ).0cZoptsrA/usr/lib/python3.9/site-packages/sos/report/plugins/infiniband.py Lz$Infiniband.setup..) Z add_copy_specZadd_cmd_outputZ path_isdirlistdir startswithopenreadlineIOErrorendswith) selfZ ports_cmdsZ ib_sysdirZib_devsZibdevportZlfileZlink_fpZ link_layerZsfileZstate_fpstaterr r setups8    2   4 zInfiniband.setupN)__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZpackagesrrrrr rs rN)Zsos.report.pluginsrrrrrrr  s