]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - include/uapi/rdma/rdma_user_cm.h
RDMA/ucma: Support querying when IB paths are not reversible
[mirror_ubuntu-zesty-kernel.git] / include / uapi / rdma / rdma_user_cm.h
index 1ee9239ff8c2aa8db3cc92cd09d7e948eb2e9fa4..07eb6cfa926c266feca3e82e672e781996bbe175 100644 (file)
@@ -61,7 +61,8 @@ enum {
        RDMA_USER_CM_CMD_NOTIFY,
        RDMA_USER_CM_CMD_JOIN_MCAST,
        RDMA_USER_CM_CMD_LEAVE_MCAST,
-       RDMA_USER_CM_CMD_MIGRATE_ID
+       RDMA_USER_CM_CMD_MIGRATE_ID,
+       RDMA_USER_CM_CMD_QUERY
 };
 
 /*
@@ -113,10 +114,15 @@ struct rdma_ucm_resolve_route {
        __u32 timeout_ms;
 };
 
-struct rdma_ucm_query_route {
+enum {
+       RDMA_USER_CM_QUERY_ADDR,
+       RDMA_USER_CM_QUERY_PATH
+};
+
+struct rdma_ucm_query {
        __u64 response;
        __u32 id;
-       __u32 reserved;
+       __u32 option;
 };
 
 struct rdma_ucm_query_route_resp {
@@ -129,9 +135,26 @@ struct rdma_ucm_query_route_resp {
        __u8 reserved[3];
 };
 
+struct rdma_ucm_query_addr_resp {
+       __u64 node_guid;
+       __u8  port_num;
+       __u8  reserved;
+       __u16 pkey;
+       __u16 src_size;
+       __u16 dst_size;
+       struct sockaddr_storage src_addr;
+       struct sockaddr_storage dst_addr;
+};
+
+struct rdma_ucm_query_path_resp {
+       __u32 num_paths;
+       __u32 reserved;
+       struct ib_path_rec_data path_data[0];
+};
+
 struct rdma_ucm_conn_param {
        __u32 qp_num;
-       __u32 reserved;
+       __u32 qkey;
        __u8  private_data[RDMA_MAX_PRIVATE_DATA];
        __u8  private_data_len;
        __u8  srq;