diff options
Diffstat (limited to 'include/uapi/linux/rds.h')
-rw-r--r-- | include/uapi/linux/rds.h | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h index 20c6bd0b0007..dc520e1a4123 100644 --- a/include/uapi/linux/rds.h +++ b/include/uapi/linux/rds.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ | 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2008 Oracle. All rights reserved. | 3 | * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. |
4 | * | 4 | * |
5 | * This software is available to you under a choice of one of two | 5 | * This software is available to you under a choice of one of two |
6 | * licenses. You may choose to be licensed under the terms of the GNU | 6 | * licenses. You may choose to be licensed under the terms of the GNU |
@@ -118,7 +118,17 @@ | |||
118 | #define RDS_INFO_IB_CONNECTIONS 10008 | 118 | #define RDS_INFO_IB_CONNECTIONS 10008 |
119 | #define RDS_INFO_CONNECTION_STATS 10009 | 119 | #define RDS_INFO_CONNECTION_STATS 10009 |
120 | #define RDS_INFO_IWARP_CONNECTIONS 10010 | 120 | #define RDS_INFO_IWARP_CONNECTIONS 10010 |
121 | #define RDS_INFO_LAST 10010 | 121 | |
122 | /* PF_RDS6 options */ | ||
123 | #define RDS6_INFO_CONNECTIONS 10011 | ||
124 | #define RDS6_INFO_SEND_MESSAGES 10012 | ||
125 | #define RDS6_INFO_RETRANS_MESSAGES 10013 | ||
126 | #define RDS6_INFO_RECV_MESSAGES 10014 | ||
127 | #define RDS6_INFO_SOCKETS 10015 | ||
128 | #define RDS6_INFO_TCP_SOCKETS 10016 | ||
129 | #define RDS6_INFO_IB_CONNECTIONS 10017 | ||
130 | |||
131 | #define RDS_INFO_LAST 10017 | ||
122 | 132 | ||
123 | struct rds_info_counter { | 133 | struct rds_info_counter { |
124 | __u8 name[32]; | 134 | __u8 name[32]; |
@@ -140,6 +150,15 @@ struct rds_info_connection { | |||
140 | __u8 flags; | 150 | __u8 flags; |
141 | } __attribute__((packed)); | 151 | } __attribute__((packed)); |
142 | 152 | ||
153 | struct rds6_info_connection { | ||
154 | __u64 next_tx_seq; | ||
155 | __u64 next_rx_seq; | ||
156 | struct in6_addr laddr; | ||
157 | struct in6_addr faddr; | ||
158 | __u8 transport[TRANSNAMSIZ]; /* null term ascii */ | ||
159 | __u8 flags; | ||
160 | } __attribute__((packed)); | ||
161 | |||
143 | #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 | 162 | #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 |
144 | #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 | 163 | #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 |
145 | 164 | ||
@@ -153,6 +172,17 @@ struct rds_info_message { | |||
153 | __u8 flags; | 172 | __u8 flags; |
154 | } __attribute__((packed)); | 173 | } __attribute__((packed)); |
155 | 174 | ||
175 | struct rds6_info_message { | ||
176 | __u64 seq; | ||
177 | __u32 len; | ||
178 | struct in6_addr laddr; | ||
179 | struct in6_addr faddr; | ||
180 | __be16 lport; | ||
181 | __be16 fport; | ||
182 | __u8 flags; | ||
183 | __u8 tos; | ||
184 | } __attribute__((packed)); | ||
185 | |||
156 | struct rds_info_socket { | 186 | struct rds_info_socket { |
157 | __u32 sndbuf; | 187 | __u32 sndbuf; |
158 | __be32 bound_addr; | 188 | __be32 bound_addr; |
@@ -163,6 +193,16 @@ struct rds_info_socket { | |||
163 | __u64 inum; | 193 | __u64 inum; |
164 | } __attribute__((packed)); | 194 | } __attribute__((packed)); |
165 | 195 | ||
196 | struct rds6_info_socket { | ||
197 | __u32 sndbuf; | ||
198 | struct in6_addr bound_addr; | ||
199 | struct in6_addr connected_addr; | ||
200 | __be16 bound_port; | ||
201 | __be16 connected_port; | ||
202 | __u32 rcvbuf; | ||
203 | __u64 inum; | ||
204 | } __attribute__((packed)); | ||
205 | |||
166 | struct rds_info_tcp_socket { | 206 | struct rds_info_tcp_socket { |
167 | __be32 local_addr; | 207 | __be32 local_addr; |
168 | __be16 local_port; | 208 | __be16 local_port; |
@@ -175,6 +215,18 @@ struct rds_info_tcp_socket { | |||
175 | __u32 last_seen_una; | 215 | __u32 last_seen_una; |
176 | } __attribute__((packed)); | 216 | } __attribute__((packed)); |
177 | 217 | ||
218 | struct rds6_info_tcp_socket { | ||
219 | struct in6_addr local_addr; | ||
220 | __be16 local_port; | ||
221 | struct in6_addr peer_addr; | ||
222 | __be16 peer_port; | ||
223 | __u64 hdr_rem; | ||
224 | __u64 data_rem; | ||
225 | __u32 last_sent_nxt; | ||
226 | __u32 last_expected_una; | ||
227 | __u32 last_seen_una; | ||
228 | } __attribute__((packed)); | ||
229 | |||
178 | #define RDS_IB_GID_LEN 16 | 230 | #define RDS_IB_GID_LEN 16 |
179 | struct rds_info_rdma_connection { | 231 | struct rds_info_rdma_connection { |
180 | __be32 src_addr; | 232 | __be32 src_addr; |
@@ -189,6 +241,19 @@ struct rds_info_rdma_connection { | |||
189 | __u32 rdma_mr_size; | 241 | __u32 rdma_mr_size; |
190 | }; | 242 | }; |
191 | 243 | ||
244 | struct rds6_info_rdma_connection { | ||
245 | struct in6_addr src_addr; | ||
246 | struct in6_addr dst_addr; | ||
247 | __u8 src_gid[RDS_IB_GID_LEN]; | ||
248 | __u8 dst_gid[RDS_IB_GID_LEN]; | ||
249 | |||
250 | __u32 max_send_wr; | ||
251 | __u32 max_recv_wr; | ||
252 | __u32 max_send_sge; | ||
253 | __u32 rdma_mr_max; | ||
254 | __u32 rdma_mr_size; | ||
255 | }; | ||
256 | |||
192 | /* RDS message Receive Path Latency points */ | 257 | /* RDS message Receive Path Latency points */ |
193 | enum rds_message_rxpath_latency { | 258 | enum rds_message_rxpath_latency { |
194 | RDS_MSG_RX_HDR_TO_DGRAM_START = 0, | 259 | RDS_MSG_RX_HDR_TO_DGRAM_START = 0, |