Re: [PATCH] RDMA/srpt: Filter out AGN bits

Bart Van Assche
2019-08-19T15:46:33Z

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.