Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 180771a3 authored by Upinder Malhi \(umalhi\)'s avatar Upinder Malhi \(umalhi\) Committed by Roland Dreier
Browse files

IB/core: Add Cisco usNIC rdma node and transport types



This patch adds new rdma node and new rdma transport, and supporting
code used by Cisco's low latency driver called usNIC.  usNIC uses its
own transport, distinct from IB and iWARP.

Signed-off-by: default avatarUpinder Malhi <umalhi@cisco.com>
Signed-off-by: default avatarJeff Squyres <jsquyres@cisco.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 5476781b
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -612,6 +612,7 @@ static ssize_t show_node_type(struct device *device,
	switch (dev->node_type) {
	switch (dev->node_type) {
	case RDMA_NODE_IB_CA:	  return sprintf(buf, "%d: CA\n", dev->node_type);
	case RDMA_NODE_IB_CA:	  return sprintf(buf, "%d: CA\n", dev->node_type);
	case RDMA_NODE_RNIC:	  return sprintf(buf, "%d: RNIC\n", dev->node_type);
	case RDMA_NODE_RNIC:	  return sprintf(buf, "%d: RNIC\n", dev->node_type);
	case RDMA_NODE_USNIC:	  return sprintf(buf, "%d: usNIC\n", dev->node_type);
	case RDMA_NODE_IB_SWITCH: return sprintf(buf, "%d: switch\n", dev->node_type);
	case RDMA_NODE_IB_SWITCH: return sprintf(buf, "%d: switch\n", dev->node_type);
	case RDMA_NODE_IB_ROUTER: return sprintf(buf, "%d: router\n", dev->node_type);
	case RDMA_NODE_IB_ROUTER: return sprintf(buf, "%d: router\n", dev->node_type);
	default:		  return sprintf(buf, "%d: <unknown>\n", dev->node_type);
	default:		  return sprintf(buf, "%d: <unknown>\n", dev->node_type);
+3 −0
Original line number Original line Diff line number Diff line
@@ -114,6 +114,8 @@ rdma_node_get_transport(enum rdma_node_type node_type)
		return RDMA_TRANSPORT_IB;
		return RDMA_TRANSPORT_IB;
	case RDMA_NODE_RNIC:
	case RDMA_NODE_RNIC:
		return RDMA_TRANSPORT_IWARP;
		return RDMA_TRANSPORT_IWARP;
	case RDMA_NODE_USNIC:
		return RDMA_TRANSPORT_USNIC;
	default:
	default:
		BUG();
		BUG();
		return 0;
		return 0;
@@ -130,6 +132,7 @@ enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_
	case RDMA_TRANSPORT_IB:
	case RDMA_TRANSPORT_IB:
		return IB_LINK_LAYER_INFINIBAND;
		return IB_LINK_LAYER_INFINIBAND;
	case RDMA_TRANSPORT_IWARP:
	case RDMA_TRANSPORT_IWARP:
	case RDMA_TRANSPORT_USNIC:
		return IB_LINK_LAYER_ETHERNET;
		return IB_LINK_LAYER_ETHERNET;
	default:
	default:
		return IB_LINK_LAYER_UNSPECIFIED;
		return IB_LINK_LAYER_UNSPECIFIED;
+4 −2
Original line number Original line Diff line number Diff line
@@ -67,12 +67,14 @@ enum rdma_node_type {
	RDMA_NODE_IB_CA 	= 1,
	RDMA_NODE_IB_CA 	= 1,
	RDMA_NODE_IB_SWITCH,
	RDMA_NODE_IB_SWITCH,
	RDMA_NODE_IB_ROUTER,
	RDMA_NODE_IB_ROUTER,
	RDMA_NODE_RNIC
	RDMA_NODE_RNIC,
	RDMA_NODE_USNIC,
};
};


enum rdma_transport_type {
enum rdma_transport_type {
	RDMA_TRANSPORT_IB,
	RDMA_TRANSPORT_IB,
	RDMA_TRANSPORT_IWARP
	RDMA_TRANSPORT_IWARP,
	RDMA_TRANSPORT_USNIC
};
};


enum rdma_transport_type
enum rdma_transport_type