diff options
author | Sean Hefty <sean.hefty@intel.com> | 2013-05-29 13:09:33 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-06-21 02:35:45 -0400 |
commit | 5bc2b7b397b02026a0596a7807443a18422733fa (patch) | |
tree | 23da8bd5f5932882a8f5524e862134c85fb3116e /include/uapi | |
parent | 209cf2a751f9ff2a516102339e54fcac0176fa78 (diff) |
RDMA/ucma: Allow user space to specify AF_IB when joining multicast
Allow user space applications to join multicast groups using MGIDs
directly. MGIDs may be passed using AF_IB addresses. Since the
current multicast join command only supports addresses as large as
sockaddr_in6, define a new structure for joining addresses specified
using sockaddr_ib.
Since AF_IB allows the user to specify the qkey when resolving a
remote UD QP address, when joining the multicast group use the qkey
value, if one has been assigned.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/rdma/rdma_user_cm.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/uapi/rdma/rdma_user_cm.h b/include/uapi/rdma/rdma_user_cm.h index 6d03f9c16f1e..99b80abf360a 100644 --- a/include/uapi/rdma/rdma_user_cm.h +++ b/include/uapi/rdma/rdma_user_cm.h | |||
@@ -64,7 +64,8 @@ enum { | |||
64 | RDMA_USER_CM_CMD_MIGRATE_ID, | 64 | RDMA_USER_CM_CMD_MIGRATE_ID, |
65 | RDMA_USER_CM_CMD_QUERY, | 65 | RDMA_USER_CM_CMD_QUERY, |
66 | RDMA_USER_CM_CMD_BIND, | 66 | RDMA_USER_CM_CMD_BIND, |
67 | RDMA_USER_CM_CMD_RESOLVE_ADDR | 67 | RDMA_USER_CM_CMD_RESOLVE_ADDR, |
68 | RDMA_USER_CM_CMD_JOIN_MCAST | ||
68 | }; | 69 | }; |
69 | 70 | ||
70 | /* | 71 | /* |
@@ -242,6 +243,15 @@ struct rdma_ucm_join_ip_mcast { | |||
242 | __u32 id; | 243 | __u32 id; |
243 | }; | 244 | }; |
244 | 245 | ||
246 | struct rdma_ucm_join_mcast { | ||
247 | __u64 response; /* rdma_ucma_create_id_resp */ | ||
248 | __u64 uid; | ||
249 | __u32 id; | ||
250 | __u16 addr_size; | ||
251 | __u16 reserved; | ||
252 | struct sockaddr_storage addr; | ||
253 | }; | ||
254 | |||
245 | struct rdma_ucm_get_event { | 255 | struct rdma_ucm_get_event { |
246 | __u64 response; | 256 | __u64 response; |
247 | }; | 257 | }; |