diff options
author | Michael J. Ruhl <michael.j.ruhl@intel.com> | 2017-04-09 19:15:57 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-04-28 19:48:01 +0200 |
commit | aad9ff97ddd774f03f5e055ade2b2d27a9c82ddb (patch) | |
tree | 227530073b852b7f938056d0f278a6f36c293473 /include/rdma/rdmavt_qp.h | |
parent | IB/core: For multicast functions, verify that LIDs are multicast LIDs (diff) | |
download | linux-aad9ff97ddd774f03f5e055ade2b2d27a9c82ddb.tar.xz linux-aad9ff97ddd774f03f5e055ade2b2d27a9c82ddb.zip |
IB/rdmavt/hfi1/qib: Use the MGID and MLID for multicast addressing
The Infiniband spec defines "A multicast address is defined by a
MGID and a MLID" (section 10.5).
The current code only uses the MGID for identifying multicast groups.
Update the driver to be compliant with this definition.
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/rdma/rdmavt_qp.h')
-rw-r--r-- | include/rdma/rdmavt_qp.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/rdma/rdmavt_qp.h b/include/rdma/rdmavt_qp.h index e3bb312a2ffa..75a077c59742 100644 --- a/include/rdma/rdmavt_qp.h +++ b/include/rdma/rdmavt_qp.h @@ -435,9 +435,14 @@ struct rvt_mcast_qp { struct rvt_qp *qp; }; +struct rvt_mcast_addr { + union ib_gid mgid; + u16 lid; +}; + struct rvt_mcast { struct rb_node rb_node; - union ib_gid mgid; + struct rvt_mcast_addr mcast_addr; struct list_head qp_list; wait_queue_head_t wait; atomic_t refcount; |