1 #ifndef STRACE_LINUX_INET_DIAG_H
2 #define STRACE_LINUX_INET_DIAG_H
4 #define TCPDIAG_GETSOCK 18
5 #define DCCPDIAG_GETSOCK 19
8 struct inet_diag_sockid {
11 uint32_t idiag_src[4];
12 uint32_t idiag_dst[4];
14 uint32_t idiag_cookie[2];
17 /* Request structures */
18 struct inet_diag_req {
20 uint8_t idiag_src_len;
21 uint8_t idiag_dst_len;
23 struct inet_diag_sockid id;
24 uint32_t idiag_states;
28 struct inet_diag_req_v2 {
30 uint8_t sdiag_protocol;
33 uint32_t idiag_states;
34 struct inet_diag_sockid id;
39 INET_DIAG_REQ_BYTECODE,
42 struct inet_diag_bc_op {
58 INET_DIAG_BC_DEV_COND, /* u32 ifindex */
59 INET_DIAG_BC_MARK_COND,
62 struct inet_diag_hostcond {
69 struct inet_diag_markcond {
75 struct inet_diag_msg {
79 uint8_t idiag_retrans;
81 struct inet_diag_sockid id;
83 uint32_t idiag_expires;
84 uint32_t idiag_rqueue;
85 uint32_t idiag_wqueue;
102 INET_DIAG_PROTOCOL, /* response attribute only */
113 struct inet_diag_meminfo {
120 /* INET_DIAG_VEGASINFO */
121 struct tcpvegas_info {
122 uint32_t tcpv_enabled;
123 uint32_t tcpv_rttcnt;
125 uint32_t tcpv_minrtt;
128 /* INET_DIAG_DCTCPINFO */
129 struct tcp_dctcp_info {
130 uint16_t dctcp_enabled;
131 uint16_t dctcp_ce_state;
132 uint32_t dctcp_alpha;
133 uint32_t dctcp_ab_ecn;
134 uint32_t dctcp_ab_tot;
137 /* INET_DIAG_BBRINFO */
138 struct tcp_bbr_info {
141 uint32_t bbr_min_rtt;
142 uint32_t bbr_pacing_gain;
143 uint32_t bbr_cwnd_gain;
146 #endif /* !STRACE_LINUX_INET_DIAG_H */