aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_verbs.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 61e1935c91b1..c6d343078617 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -69,12 +69,14 @@ enum rdma_node_type {
69 RDMA_NODE_IB_ROUTER, 69 RDMA_NODE_IB_ROUTER,
70 RDMA_NODE_RNIC, 70 RDMA_NODE_RNIC,
71 RDMA_NODE_USNIC, 71 RDMA_NODE_USNIC,
72 RDMA_NODE_USNIC_UDP,
72}; 73};
73 74
74enum rdma_transport_type { 75enum rdma_transport_type {
75 RDMA_TRANSPORT_IB, 76 RDMA_TRANSPORT_IB,
76 RDMA_TRANSPORT_IWARP, 77 RDMA_TRANSPORT_IWARP,
77 RDMA_TRANSPORT_USNIC 78 RDMA_TRANSPORT_USNIC,
79 RDMA_TRANSPORT_USNIC_UDP
78}; 80};
79 81
80enum rdma_transport_type 82enum rdma_transport_type
@@ -633,6 +635,7 @@ enum ib_qp_type {
633enum ib_qp_create_flags { 635enum ib_qp_create_flags {
634 IB_QP_CREATE_IPOIB_UD_LSO = 1 << 0, 636 IB_QP_CREATE_IPOIB_UD_LSO = 1 << 0,
635 IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 1 << 1, 637 IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 1 << 1,
638 IB_QP_CREATE_NETIF_QP = 1 << 5,
636 /* reserve bits 26-31 for low level drivers' internal use */ 639 /* reserve bits 26-31 for low level drivers' internal use */
637 IB_QP_CREATE_RESERVED_START = 1 << 26, 640 IB_QP_CREATE_RESERVED_START = 1 << 26,
638 IB_QP_CREATE_RESERVED_END = 1 << 31, 641 IB_QP_CREATE_RESERVED_END = 1 << 31,
@@ -1099,13 +1102,14 @@ enum ib_flow_attr_type {
1099enum ib_flow_spec_type { 1102enum ib_flow_spec_type {
1100 /* L2 headers*/ 1103 /* L2 headers*/
1101 IB_FLOW_SPEC_ETH = 0x20, 1104 IB_FLOW_SPEC_ETH = 0x20,
1105 IB_FLOW_SPEC_IB = 0x22,
1102 /* L3 header*/ 1106 /* L3 header*/
1103 IB_FLOW_SPEC_IPV4 = 0x30, 1107 IB_FLOW_SPEC_IPV4 = 0x30,
1104 /* L4 headers*/ 1108 /* L4 headers*/
1105 IB_FLOW_SPEC_TCP = 0x40, 1109 IB_FLOW_SPEC_TCP = 0x40,
1106 IB_FLOW_SPEC_UDP = 0x41 1110 IB_FLOW_SPEC_UDP = 0x41
1107}; 1111};
1108 1112#define IB_FLOW_SPEC_LAYER_MASK 0xF0
1109#define IB_FLOW_SPEC_SUPPORT_LAYERS 4 1113#define IB_FLOW_SPEC_SUPPORT_LAYERS 4
1110 1114
1111/* Flow steering rule priority is set according to it's domain. 1115/* Flow steering rule priority is set according to it's domain.
@@ -1133,6 +1137,18 @@ struct ib_flow_spec_eth {
1133 struct ib_flow_eth_filter mask; 1137 struct ib_flow_eth_filter mask;
1134}; 1138};
1135 1139
1140struct ib_flow_ib_filter {
1141 __be16 dlid;
1142 __u8 sl;
1143};
1144
1145struct ib_flow_spec_ib {
1146 enum ib_flow_spec_type type;
1147 u16 size;
1148 struct ib_flow_ib_filter val;
1149 struct ib_flow_ib_filter mask;
1150};
1151
1136struct ib_flow_ipv4_filter { 1152struct ib_flow_ipv4_filter {
1137 __be32 src_ip; 1153 __be32 src_ip;
1138 __be32 dst_ip; 1154 __be32 dst_ip;
@@ -1163,6 +1179,7 @@ union ib_flow_spec {
1163 u16 size; 1179 u16 size;
1164 }; 1180 };
1165 struct ib_flow_spec_eth eth; 1181 struct ib_flow_spec_eth eth;
1182 struct ib_flow_spec_ib ib;
1166 struct ib_flow_spec_ipv4 ipv4; 1183 struct ib_flow_spec_ipv4 ipv4;
1167 struct ib_flow_spec_tcp_udp tcp_udp; 1184 struct ib_flow_spec_tcp_udp tcp_udp;
1168}; 1185};