You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.8 KiB
93 lines
1.8 KiB
#ifndef STRACE_LINUX_SMC_DIAG_H
|
|
#define STRACE_LINUX_SMC_DIAG_H
|
|
|
|
#include <linux/inet_diag.h>
|
|
|
|
#include "gcc_compat.h"
|
|
|
|
/* Request structure */
|
|
struct smc_diag_req {
|
|
uint8_t diag_family;
|
|
uint8_t pad[2];
|
|
uint8_t diag_ext; /* Query extended information */
|
|
struct inet_diag_sockid id;
|
|
};
|
|
|
|
struct smc_diag_msg {
|
|
uint8_t diag_family;
|
|
uint8_t diag_state;
|
|
uint8_t diag_fallback;
|
|
uint8_t diag_shutdown;
|
|
struct inet_diag_sockid id;
|
|
|
|
uint32_t diag_uid;
|
|
uint64_t diag_inode;
|
|
};
|
|
|
|
/* Extensions */
|
|
enum {
|
|
SMC_DIAG_NONE,
|
|
SMC_DIAG_CONNINFO,
|
|
SMC_DIAG_LGRINFO,
|
|
SMC_DIAG_SHUTDOWN,
|
|
SMC_DIAG_DMBINFO,
|
|
SMC_DIAG_FALLBACK,
|
|
};
|
|
|
|
/* SMC_DIAG_CONNINFO */
|
|
struct smc_diag_cursor {
|
|
uint16_t reserved;
|
|
uint16_t wrap;
|
|
uint32_t count;
|
|
};
|
|
|
|
struct smc_diag_conninfo {
|
|
uint32_t token;
|
|
uint32_t sndbuf_size;
|
|
uint32_t rmbe_size;
|
|
uint32_t peer_rmbe_size;
|
|
struct smc_diag_cursor rx_prod;
|
|
struct smc_diag_cursor rx_cons;
|
|
struct smc_diag_cursor tx_prod;
|
|
struct smc_diag_cursor tx_cons;
|
|
uint8_t rx_prod_flags;
|
|
uint8_t rx_conn_state_flags;
|
|
uint8_t tx_prod_flags;
|
|
uint8_t tx_conn_state_flags;
|
|
struct smc_diag_cursor tx_prep;
|
|
struct smc_diag_cursor tx_sent;
|
|
struct smc_diag_cursor tx_fin;
|
|
};
|
|
|
|
/* SMC_DIAG_LINKINFO */
|
|
struct smc_diag_linkinfo {
|
|
uint8_t link_id;
|
|
uint8_t ibname[64]; /* IB_DEVICE_NAME_MAX */
|
|
uint8_t ibport;
|
|
uint8_t gid[40];
|
|
uint8_t peer_gid[40];
|
|
};
|
|
|
|
/* SMC_DIAG_LGRINFO */
|
|
struct smc_diag_lgrinfo {
|
|
struct smc_diag_linkinfo lnk[1];
|
|
uint8_t role;
|
|
};
|
|
|
|
/* SMC_DIAG_DMBINFO */
|
|
struct smcd_diag_dmbinfo {
|
|
uint32_t linkid;
|
|
uint64_t ATTRIBUTE_ALIGNED(8) peer_gid;
|
|
uint64_t ATTRIBUTE_ALIGNED(8) my_gid;
|
|
uint64_t ATTRIBUTE_ALIGNED(8) token;
|
|
uint64_t ATTRIBUTE_ALIGNED(8) peer_token;
|
|
};
|
|
|
|
/* SMC_DIAG_FALLBACK */
|
|
struct smc_diag_fallback {
|
|
uint32_t reason;
|
|
uint32_t peer_diagnosis;
|
|
};
|
|
|
|
#endif /* !STRACE_LINUX_SMC_DIAG_H */
|