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/rdma | |
| 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/rdma')
| -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 | }; |
