summaryrefslogtreecommitdiff
path: root/include/rdma
diff options
context:
space:
mode:
authorSean Hefty <sean.hefty@intel.com>2007-11-14 00:29:50 -0800
committerRoland Dreier <rolandd@cisco.com>2008-01-25 14:15:32 -0800
commit88314e4dda1e158aabce76429ef4d017b48f8b92 (patch)
tree951aad1d512d0ac0fce5bfd6189e7ed1fbd84e71 /include/rdma
parent45d9478da106c749203056f56e94d0e370dfac87 (diff)
downloadlinux-3.10-88314e4dda1e158aabce76429ef4d017b48f8b92.tar.gz
linux-3.10-88314e4dda1e158aabce76429ef4d017b48f8b92.tar.bz2
linux-3.10-88314e4dda1e158aabce76429ef4d017b48f8b92.zip
RDMA/cma: add support for rdma_migrate_id()
This is based on user feedback from Doug Ledford at RedHat: Events that occur on an rdma_cm_id are reported to userspace through an event channel. Connection request events are reported on the event channel associated with the listen. When the connection is accepted, a new rdma_cm_id is created and automatically uses the listen event channel. This is suboptimal where the user only wants listen events on that channel. Additionally, it may be desirable to have events related to connection establishment use a different event channel than those related to already established connections. Allow the user to migrate an rdma_cm_id between event channels. All pending events associated with the rdma_cm_id are moved to the new event channel. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/rdma_user_cm.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/rdma/rdma_user_cm.h b/include/rdma/rdma_user_cm.h
index 9749c1b34d0..c55705460b8 100644
--- a/include/rdma/rdma_user_cm.h
+++ b/include/rdma/rdma_user_cm.h
@@ -60,7 +60,8 @@ enum {
RDMA_USER_CM_CMD_SET_OPTION,
RDMA_USER_CM_CMD_NOTIFY,
RDMA_USER_CM_CMD_JOIN_MCAST,
- RDMA_USER_CM_CMD_LEAVE_MCAST
+ RDMA_USER_CM_CMD_LEAVE_MCAST,
+ RDMA_USER_CM_CMD_MIGRATE_ID
};
/*
@@ -230,4 +231,14 @@ struct rdma_ucm_set_option {
__u32 optlen;
};
+struct rdma_ucm_migrate_id {
+ __u64 response;
+ __u32 id;
+ __u32 fd;
+};
+
+struct rdma_ucm_migrate_resp {
+ __u32 events_reported;
+};
+
#endif /* RDMA_USER_CM_H */