RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available
authorHonggang Li <honli@redhat.com>
Fri, 27 Sep 2019 17:43:52 +0000 (01:43 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 8 Oct 2019 18:17:32 +0000 (15:17 -0300)
commitb2e872f451992e5ac3d6b79a62b66f1721e29521
tree03d158430659baa75f37cbb5b465566beb4a5943
parent547ed331bbe89575ff91939e1ac9a023fe526b74
RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available

The default maximum immediate size is too big for old srp clients, which
do not support immediate data.

According to the SRP and SRP-2 specifications, the IOControllerProfile
attributes for SRP target ports contains the maximum initiator to target
iu length.

The maximum initiator to target iu length can be obtained by sending MAD
packets to query subnet manager port and SRP target ports. We should
calculate the max_it_iu_size instead of the default value, when remote
maximum initiator to target iu length available.

Link: https://lore.kernel.org/r/20190927174352.7800-2-honli@redhat.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Honggang Li <honli@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/ulp/srp/ib_srp.c