#define SDP_MAJV_MINV 0x22
+SDP_MODPARAM_SINT(sdp_link_layer_ib_only, 1, "Support only link layer of "
+ "type Infiniband");
+
enum {
SDP_HH_SIZE = 76,
SDP_HAH_SIZE = 180,
switch (event->event) {
case RDMA_CM_EVENT_ADDR_RESOLVED:
sdp_dbg(sk, "RDMA_CM_EVENT_ADDR_RESOLVED\n");
+
+ if (sdp_link_layer_ib_only &&
+ rdma_node_get_transport(id->device->node_type) ==
+ RDMA_TRANSPORT_IB &&
+ rdma_port_link_layer(id->device, id->port_num) !=
+ IB_LINK_LAYER_INFINIBAND) {
+ sdp_dbg(sk, "Link layer is: %d. Only IB link layer "
+ "is allowed\n",
+ rdma_port_link_layer(id->device, id->port_num));
+ rc = -ENETUNREACH;
+ break;
+ }
+
rc = rdma_resolve_route(id, SDP_ROUTE_TIMEOUT);
break;
case RDMA_CM_EVENT_ADDR_ERROR: