projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
bad5b6e
)
RDMA/core: Set gid_attr.ndev for iWARP devices
author
Chuck Lever
<chuck.lever@oracle.com>
Mon, 17 Jul 2023 15:12:19 +0000
(11:12 -0400)
committer
Jason Gunthorpe
<jgg@nvidia.com>
Fri, 21 Jul 2023 19:00:18 +0000
(16:00 -0300)
Have the iwarp side properly set the ndev in the device's sgid_attrs
so that address resolution can treat it more like a RoCE device.
Link:
https://lore.kernel.org/r/168960673933.3007.8043081822081877578.stgit@manet.1015granger.net
Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/cache.c
patch
|
blob
|
history
diff --git
a/drivers/infiniband/core/cache.c
b/drivers/infiniband/core/cache.c
index
2e91d88
..
33f9d02
100644
(file)
--- a/
drivers/infiniband/core/cache.c
+++ b/
drivers/infiniband/core/cache.c
@@
-1457,6
+1457,17
@@
static int config_non_roce_gid_cache(struct ib_device *device,
i);
goto err;
}
+
+ if (rdma_protocol_iwarp(device, port)) {
+ struct net_device *ndev;
+
+ ndev = ib_device_get_netdev(device, port);
+ if (!ndev)
+ continue;
+ RCU_INIT_POINTER(gid_attr.ndev, ndev);
+ dev_put(ndev);
+ }
+
gid_attr.index = i;
tprops->subnet_prefix =
be64_to_cpu(gid_attr.gid.global.subnet_prefix);