aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/cma.c
diff options
context:
space:
mode:
authorMatan Barak <matanb@mellanox.com>2015-12-23 14:56:48 +0200
committerDoug Ledford <dledford@redhat.com>2015-12-23 10:35:10 -0500
commitcb57bb849effcaa83addd739595d3dea3a5905fb (patch)
tree34dc126c899f861c8b8be5303b34a48053e73e4e /drivers/infiniband/core/cma.c
parentIB/core: Add gid_type to gid attribute (diff)
downloadlinux-dev-cb57bb849effcaa83addd739595d3dea3a5905fb.tar.xz
linux-dev-cb57bb849effcaa83addd739595d3dea3a5905fb.zip
IB/cm: Use the source GID index type
Previosuly, cm and cma modules supported only IB and RoCE v1 GID type. In order to support multiple GID types, the gid_type is passed to cm_init_av_by_path and stored in the path record. The rdma cm client would use a default GID type that will be saved in rdma_id_private. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/infiniband/core/cma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 2637ebfd1784..446323a9d38f 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -228,6 +228,7 @@ struct rdma_id_private {
u8 tos;
u8 reuseaddr;
u8 afonly;
+ enum ib_gid_type gid_type;
};
struct cma_multicast {
@@ -2314,6 +2315,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
ndev = dev_get_by_index(&init_net, addr->dev_addr.bound_dev_if);
route->path_rec->net = &init_net;
route->path_rec->ifindex = addr->dev_addr.bound_dev_if;
+ route->path_rec->gid_type = id_priv->gid_type;
}
if (!ndev) {
ret = -ENODEV;