History

rds: add type of service(tos) infrastructure

RDS Service type (TOS) is user-defined and needs to be configured via RDS IOCTL interface. It must be set before initiating any traffic and once set the TOS can not be changed. All out-going traffic from the socket will be associated with its TOS.

Santosh Shilimkar committed 8 years ago

Commit 3eb45031 parent d021fab11 files · +72 −17Browse files

Showing the changes to include/uapi/linux (1 of 11 files). Show all

Unified · Split

include/uapi/linux/rds.h+11−0
@@ -69,6 +69,12 @@ · 68 unmodified lines
6969 #define RDS_TRANS_COUNT 3
7070 #define RDS_TRANS_NONE (~0)
7171
72+/* IOCTLS commands for SOL_RDS */
73+#define SIOCRDSSETTOS (SIOCPROTOPRIVATE)
74+#define SIOCRDSGETTOS (SIOCPROTOPRIVATE + 1)
75+
76+typedef __u8 rds_tos_t;
77+
7278 /*
7379 * Control message types for SOL_RDS.
7480 *
@@ -149,6 +155,7 @@ struct rds_info_connection { · 74 unmodified lines
149155 __be32 faddr;
150156 __u8 transport[TRANSNAMSIZ]; /* null term ascii */
151157 __u8 flags;
158+ __u8 tos;
152159 } __attribute__((packed));
153160
154161 struct rds6_info_connection {
@@ -171,6 +178,7 @@ struct rds_info_message { · 16 unmodified lines
171178 __be16 lport;
172179 __be16 fport;
173180 __u8 flags;
181+ __u8 tos;
174182 } __attribute__((packed));
175183
176184 struct rds6_info_message {
@@ -214,6 +222,7 @@ struct rds_info_tcp_socket { · 37 unmodified lines
214222 __u32 last_sent_nxt;
215223 __u32 last_expected_una;
216224 __u32 last_seen_una;
225+ __u8 tos;
217226 } __attribute__((packed));
218227
219228 struct rds6_info_tcp_socket {
@@ -240,6 +249,7 @@ struct rds_info_rdma_connection { · 20 unmodified lines
240249 __u32 max_send_sge;
241250 __u32 rdma_mr_max;
242251 __u32 rdma_mr_size;
252+ __u8 tos;
243253 };
244254
245255 struct rds6_info_rdma_connection {
@@ -253,6 +263,7 @@ struct rds6_info_rdma_connection { · 7 unmodified lines
253263 __u32 max_send_sge;
254264 __u32 rdma_mr_max;
255265 __u32 rdma_mr_size;
266+ __u8 tos;
256267 };
257268
258269 /* RDS message Receive Path Latency points */