ibsrpdm is used for discovering and connecting to SRP SCSI targets on InfiniBand fabrics. These targets can be accessed with the InfiniBand SRP initiator module, "ib_srp," included in Linux kernels 2.6.15 and newer.
To run ibsrpdm, the ib_umad module must be loaded, as well as an appropriate low-level driver for the installed IB hardware.
With no command line parameters, ibsrpdm displays information about SRP targets in human-readable form:
# ibsrpdm
IO Unit Info:
port LID: 0009
port GID: fe800000000000000005ad00000013e9
change ID: 73b0
max controllers: 0x01
controller[ 1]
GUID: 0005ad00000013e7
vendor ID: 0005ad
device ID: 0005ad
IO class : 0100
ID: Topspin SRP/FC TCA
service entries: 2
service[ 0]: 0000000000000066 / SRP.T10:20030003BA27CC7A
service[ 1]: 0000000000000066 / SRP.T10:20030003BA27CF53
With the "-c" flag, ibsrpdm displays information in a form that can be written to the kernel SRP initiators add_target file to connect to the SRP targets. For example:
# ibsrpdm -c
id_ext=20030003BA27CC7A,ioc_guid=0005ad00000013e7,dgid=fe800000000000000005ad00000013e9,pkey=ffff,service_id=0000000000000066
id_ext=20030003BA27CF53,ioc_guid=0005ad00000013e7,dgid=fe800000000000000005ad00000013e9,pkey=ffff,service_id=0000000000000066
Given this, the command below will connect to the first target discovered from the first port of the local HCA device "mthca0":
# echo -n id_ext=20030003BA27CC7A,ioc_guid=0005ad00000013e7,dgid=fe800000000000000005ad00000013e9,pkey=ffff,service_id=0000000000000066 > /sys/class/infiniband_srp/srp-mthca0-1/add_target