Add raw helpers:
        rdma_tech_ib
        rdma_tech_iboe
        rdma_tech_iwarp
        rdma_ib_or_iboe (transition, clean up later)
To help us detect which technology the port supported.

Cc: Hal Rosenstock <h...@dev.mellanox.co.il>
Cc: Steve Wise <sw...@opengridcomputing.com>
Cc: Tom Talpey <t...@talpey.com>
Cc: Jason Gunthorpe <jguntho...@obsidianresearch.com>
Cc: Doug Ledford <dledf...@redhat.com>
Cc: Ira Weiny <ira.we...@intel.com>
Cc: Sean Hefty <sean.he...@intel.com>
Signed-off-by: Michael Wang <yun.w...@profitbricks.com>
---
 include/rdma/ib_verbs.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index d54f91e..a12e876 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1748,6 +1748,31 @@ int ib_query_port(struct ib_device *device,
 enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device,
                                               u8 port_num);
 
+static inline int rdma_tech_ib(struct ib_device *device, u8 port_num)
+{
+       return device->query_transport(device, port_num)
+                       == RDMA_TRANSPORT_IB;
+}
+
+static inline int rdma_tech_iboe(struct ib_device *device, u8 port_num)
+{
+       return device->query_transport(device, port_num)
+                       == RDMA_TRANSPORT_IBOE;
+}
+
+static inline int rdma_tech_iwarp(struct ib_device *device, u8 port_num)
+{
+       return device->query_transport(device, port_num)
+                       == RDMA_TRANSPORT_IWARP;
+}
+
+static inline int rdma_ib_or_iboe(struct ib_device *device, u8 port_num)
+{
+       enum rdma_transport_type tp = device->query_transport(device, port_num);
+
+       return (tp == RDMA_TRANSPORT_IB || tp == RDMA_TRANSPORT_IBOE);
+}
+
 int ib_query_gid(struct ib_device *device,
                 u8 port_num, int index, union ib_gid *gid);
 
-- 
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to