uec@sQddlZddlmZmZmZmZdeeeefdYZdS(iN(tPlugint RedHatPlugint DebianPlugint UbuntuPlugint InfinibandcBs)eZdZdZdZd ZdZRS( sInfiniband data t infinibandthardwareslibibverbs-utilstopensmtrdmasinfiniband-diagsc Cs|jdddg|jd|jddddgd d d d g}d }tjj|rutj|ng}x@|D]8}|jdrqnxtj||dD]}y t||d|d}Wntk rqnX|j }|j |dkrqny t||d|d}Wntk rPqnX|j } |j | j ds|qnd||f} |jg|D]} d| | f^qqWqWdS(Ns/etc/ofed/openib.confs/etc/ofed/opensm.confs /etc/rdmas/var/log/opensm*t ibv_devicessibv_devinfo -vtibstattibstatustibhostst iblinkinfotsminfot perfquerys/sys/class/infiniband/thfis/portss/ports/s /link_layers InfiniBand s/states : ACTIVE s -C %s -P %ss%s %s( t add_copy_spectadd_cmd_outputtostpathtisdirtlistdirt startswithtopentIOErrortreadlinetclosetendswith( tselft ports_cmdst IB_SYS_DIRtibstibtporttpt link_layertststatetoptstc((s:/usr/lib/python2.7/site-packages/sos/plugins/infiniband.pytsetupsN    '         (R(slibibverbs-utilsRRsinfiniband-diags(t__name__t __module__t__doc__t plugin_nametprofilestpackagesR)(((s:/usr/lib/python2.7/site-packages/sos/plugins/infiniband.pyRs (Rt sos.pluginsRRRRR(((s:/usr/lib/python2.7/site-packages/sos/plugins/infiniband.pyt s "