xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/smc_diag.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_SMC_DIAG_H_
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_SMC_DIAG_H_
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/inet_diag.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <rdma/ib_user_verbs.h>
12*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_req {
13*8d67ca89SAndroid Build Coastguard Worker   __u8 diag_family;
14*8d67ca89SAndroid Build Coastguard Worker   __u8 pad[2];
15*8d67ca89SAndroid Build Coastguard Worker   __u8 diag_ext;
16*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
17*8d67ca89SAndroid Build Coastguard Worker };
18*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_msg {
19*8d67ca89SAndroid Build Coastguard Worker   __u8 diag_family;
20*8d67ca89SAndroid Build Coastguard Worker   __u8 diag_state;
21*8d67ca89SAndroid Build Coastguard Worker   union {
22*8d67ca89SAndroid Build Coastguard Worker     __u8 diag_mode;
23*8d67ca89SAndroid Build Coastguard Worker     __u8 diag_fallback;
24*8d67ca89SAndroid Build Coastguard Worker   };
25*8d67ca89SAndroid Build Coastguard Worker   __u8 diag_shutdown;
26*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
27*8d67ca89SAndroid Build Coastguard Worker   __u32 diag_uid;
28*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 diag_inode;
29*8d67ca89SAndroid Build Coastguard Worker };
30*8d67ca89SAndroid Build Coastguard Worker enum {
31*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_MODE_SMCR,
32*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_MODE_FALLBACK_TCP,
33*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_MODE_SMCD,
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker enum {
36*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_NONE,
37*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_CONNINFO,
38*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_LGRINFO,
39*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_SHUTDOWN,
40*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_DMBINFO,
41*8d67ca89SAndroid Build Coastguard Worker   SMC_DIAG_FALLBACK,
42*8d67ca89SAndroid Build Coastguard Worker   __SMC_DIAG_MAX,
43*8d67ca89SAndroid Build Coastguard Worker };
44*8d67ca89SAndroid Build Coastguard Worker #define SMC_DIAG_MAX (__SMC_DIAG_MAX - 1)
45*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_cursor {
46*8d67ca89SAndroid Build Coastguard Worker   __u16 reserved;
47*8d67ca89SAndroid Build Coastguard Worker   __u16 wrap;
48*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
49*8d67ca89SAndroid Build Coastguard Worker };
50*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_conninfo {
51*8d67ca89SAndroid Build Coastguard Worker   __u32 token;
52*8d67ca89SAndroid Build Coastguard Worker   __u32 sndbuf_size;
53*8d67ca89SAndroid Build Coastguard Worker   __u32 rmbe_size;
54*8d67ca89SAndroid Build Coastguard Worker   __u32 peer_rmbe_size;
55*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor rx_prod;
56*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor rx_cons;
57*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor tx_prod;
58*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor tx_cons;
59*8d67ca89SAndroid Build Coastguard Worker   __u8 rx_prod_flags;
60*8d67ca89SAndroid Build Coastguard Worker   __u8 rx_conn_state_flags;
61*8d67ca89SAndroid Build Coastguard Worker   __u8 tx_prod_flags;
62*8d67ca89SAndroid Build Coastguard Worker   __u8 tx_conn_state_flags;
63*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor tx_prep;
64*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor tx_sent;
65*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_cursor tx_fin;
66*8d67ca89SAndroid Build Coastguard Worker };
67*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_linkinfo {
68*8d67ca89SAndroid Build Coastguard Worker   __u8 link_id;
69*8d67ca89SAndroid Build Coastguard Worker   __u8 ibname[IB_DEVICE_NAME_MAX];
70*8d67ca89SAndroid Build Coastguard Worker   __u8 ibport;
71*8d67ca89SAndroid Build Coastguard Worker   __u8 gid[40];
72*8d67ca89SAndroid Build Coastguard Worker   __u8 peer_gid[40];
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_lgrinfo {
75*8d67ca89SAndroid Build Coastguard Worker   struct smc_diag_linkinfo lnk[1];
76*8d67ca89SAndroid Build Coastguard Worker   __u8 role;
77*8d67ca89SAndroid Build Coastguard Worker };
78*8d67ca89SAndroid Build Coastguard Worker struct smc_diag_fallback {
79*8d67ca89SAndroid Build Coastguard Worker   __u32 reason;
80*8d67ca89SAndroid Build Coastguard Worker   __u32 peer_diagnosis;
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker struct smcd_diag_dmbinfo {
83*8d67ca89SAndroid Build Coastguard Worker   __u32 linkid;
84*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 peer_gid;
85*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 my_gid;
86*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 token;
87*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 peer_token;
88*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 peer_gid_ext;
89*8d67ca89SAndroid Build Coastguard Worker   __aligned_u64 my_gid_ext;
90*8d67ca89SAndroid Build Coastguard Worker };
91*8d67ca89SAndroid Build Coastguard Worker #endif
92