aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/rds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/rds.h')
-rw-r--r--include/uapi/linux/rds.h69
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
123struct rds_info_counter { 133struct 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
153struct 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
175struct 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
156struct rds_info_socket { 186struct 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
196struct 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
166struct rds_info_tcp_socket { 206struct 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
218struct 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
179struct rds_info_rdma_connection { 231struct 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
244struct 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 */
193enum rds_message_rxpath_latency { 258enum rds_message_rxpath_latency {
194 RDS_MSG_RX_HDR_TO_DGRAM_START = 0, 259 RDS_MSG_RX_HDR_TO_DGRAM_START = 0,