On 8/19/19 8:17 AM, Jason Gunthorpe wrote:
On Mon, Aug 19, 2019 at 08:11:21AM -0700, Bart Van Assche wrote:
Does uniqueness of the I/O controller GUID only matter in InfiniBand
networks or does it also matter in other RDMA networks?
How about using 0 as default value for the srpt_service_guid in RoCE
networks?
How does SRP connection management even work on RoCE?? The CM MADs
still carry a service_id? How do the sides exchange the service ID to
start the connection? Or is it ultimately overriden in the CM to use
an IP port based service ID?
The ib_srpt kernel driver would have to set id_ext to a unique value if
srpt_service_guid would be zero since the SRP initiator kernel driver
uses the IOC GUID + id_ext + initiator_ext combination in its connection
uniqueness check (srp_conn_unique()).
The ib_srp kernel driver supports both the IB/CM and the RDMA/CM. The
srp_daemon software tells ib_srp to use the IB/CM. Software like
blktests tells ib_srp to use the RDMA/CM. From
https://github.com/osandov/blktests/blob/master/tests/srp/rc:
srp_single_login \
"id_ext=$ioc_guid,ioc_guid=$ioc_guid,dest=$dest,$add_param" \
"$p/add_target"
The most important parameter in the login string is $dest. That is a
string with the following format:
<IP address>:<port number>.
Bart.