diff options
Diffstat (limited to 'include/rdma')
-rw-r--r-- | include/rdma/ib_verbs.h | 21 |
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 | ||
74 | enum rdma_transport_type { | 75 | enum 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 | ||
80 | enum rdma_transport_type | 82 | enum rdma_transport_type |
@@ -633,6 +635,7 @@ enum ib_qp_type { | |||
633 | enum ib_qp_create_flags { | 635 | enum 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 { | |||
1099 | enum ib_flow_spec_type { | 1102 | enum 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 | ||
1140 | struct ib_flow_ib_filter { | ||
1141 | __be16 dlid; | ||
1142 | __u8 sl; | ||
1143 | }; | ||
1144 | |||
1145 | struct 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 | |||
1136 | struct ib_flow_ipv4_filter { | 1152 | struct 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 | }; |