|
@@ -413,4 +413,23 @@ bool rdma_is_consumer_reject(struct rdma_cm_id *id, int reason);
|
|
|
const void *rdma_consumer_reject_data(struct rdma_cm_id *id,
|
|
|
struct rdma_cm_event *ev, u8 *data_len);
|
|
|
|
|
|
+/**
|
|
|
+ * rdma_read_gids - Return the SGID and DGID used for establishing
|
|
|
+ * connection. This can be used after rdma_resolve_addr()
|
|
|
+ * on client side. This can be use on new connection
|
|
|
+ * on server side. This is applicable to IB, RoCE, iWarp.
|
|
|
+ * If cm_id is not bound yet to the RDMA device, it doesn't
|
|
|
+ * copy and SGID or DGID to the given pointers.
|
|
|
+ * @id: Communication identifier whose GIDs are queried.
|
|
|
+ * @sgid: Pointer to SGID where SGID will be returned. It is optional.
|
|
|
+ * @dgid: Pointer to DGID where DGID will be returned. It is optional.
|
|
|
+ * Note: This API should not be used by any new ULPs or new code.
|
|
|
+ * Instead, users interested in querying GIDs should refer to path record
|
|
|
+ * of the rdma_cm_id to query the GIDs.
|
|
|
+ * This API is provided for compatibility for existing users.
|
|
|
+ */
|
|
|
+
|
|
|
+void rdma_read_gids(struct rdma_cm_id *cm_id, union ib_gid *sgid,
|
|
|
+ union ib_gid *dgid);
|
|
|
+
|
|
|
#endif /* RDMA_CM_H */
|