aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma/ib_verbs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rdma/ib_verbs.h')
-rw-r--r--include/rdma/ib_verbs.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index ee1f3a355666..8eacc3510993 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -56,12 +56,22 @@ union ib_gid {
56 } global; 56 } global;
57}; 57};
58 58
59enum ib_node_type { 59enum rdma_node_type {
60 IB_NODE_CA = 1, 60 /* IB values map to NodeInfo:NodeType. */
61 IB_NODE_SWITCH, 61 RDMA_NODE_IB_CA = 1,
62 IB_NODE_ROUTER 62 RDMA_NODE_IB_SWITCH,
63 RDMA_NODE_IB_ROUTER,
64 RDMA_NODE_RNIC
63}; 65};
64 66
67enum rdma_transport_type {
68 RDMA_TRANSPORT_IB,
69 RDMA_TRANSPORT_IWARP
70};
71
72enum rdma_transport_type
73rdma_node_get_transport(enum rdma_node_type node_type) __attribute_const__;
74
65enum ib_device_cap_flags { 75enum ib_device_cap_flags {
66 IB_DEVICE_RESIZE_MAX_WR = 1, 76 IB_DEVICE_RESIZE_MAX_WR = 1,
67 IB_DEVICE_BAD_PKEY_CNTR = (1<<1), 77 IB_DEVICE_BAD_PKEY_CNTR = (1<<1),
@@ -78,6 +88,9 @@ enum ib_device_cap_flags {
78 IB_DEVICE_RC_RNR_NAK_GEN = (1<<12), 88 IB_DEVICE_RC_RNR_NAK_GEN = (1<<12),
79 IB_DEVICE_SRQ_RESIZE = (1<<13), 89 IB_DEVICE_SRQ_RESIZE = (1<<13),
80 IB_DEVICE_N_NOTIFY_CQ = (1<<14), 90 IB_DEVICE_N_NOTIFY_CQ = (1<<14),
91 IB_DEVICE_ZERO_STAG = (1<<15),
92 IB_DEVICE_SEND_W_INV = (1<<16),
93 IB_DEVICE_MEM_WINDOW = (1<<17)
81}; 94};
82 95
83enum ib_atomic_cap { 96enum ib_atomic_cap {
@@ -835,6 +848,8 @@ struct ib_cache {
835 u8 *lmc_cache; 848 u8 *lmc_cache;
836}; 849};
837 850
851struct iw_cm_verbs;
852
838struct ib_device { 853struct ib_device {
839 struct device *dma_device; 854 struct device *dma_device;
840 855
@@ -851,6 +866,8 @@ struct ib_device {
851 866
852 u32 flags; 867 u32 flags;
853 868
869 struct iw_cm_verbs *iwcm;
870
854 int (*query_device)(struct ib_device *device, 871 int (*query_device)(struct ib_device *device,
855 struct ib_device_attr *device_attr); 872 struct ib_device_attr *device_attr);
856 int (*query_port)(struct ib_device *device, 873 int (*query_port)(struct ib_device *device,
@@ -888,7 +905,8 @@ struct ib_device {
888 struct ib_udata *udata); 905 struct ib_udata *udata);
889 int (*modify_srq)(struct ib_srq *srq, 906 int (*modify_srq)(struct ib_srq *srq,
890 struct ib_srq_attr *srq_attr, 907 struct ib_srq_attr *srq_attr,
891 enum ib_srq_attr_mask srq_attr_mask); 908 enum ib_srq_attr_mask srq_attr_mask,
909 struct ib_udata *udata);
892 int (*query_srq)(struct ib_srq *srq, 910 int (*query_srq)(struct ib_srq *srq,
893 struct ib_srq_attr *srq_attr); 911 struct ib_srq_attr *srq_attr);
894 int (*destroy_srq)(struct ib_srq *srq); 912 int (*destroy_srq)(struct ib_srq *srq);
@@ -900,7 +918,8 @@ struct ib_device {
900 struct ib_udata *udata); 918 struct ib_udata *udata);
901 int (*modify_qp)(struct ib_qp *qp, 919 int (*modify_qp)(struct ib_qp *qp,
902 struct ib_qp_attr *qp_attr, 920 struct ib_qp_attr *qp_attr,
903 int qp_attr_mask); 921 int qp_attr_mask,
922 struct ib_udata *udata);
904 int (*query_qp)(struct ib_qp *qp, 923 int (*query_qp)(struct ib_qp *qp,
905 struct ib_qp_attr *qp_attr, 924 struct ib_qp_attr *qp_attr,
906 int qp_attr_mask, 925 int qp_attr_mask,