net/smc: Add netlink support for SMC statistics
Add the netlink function which collects the statistics information and delivers it to the userspace. Signed-off-by: Guvenc Gulce <guvenc@linux.ibm.com> Signed-off-by: Karsten Graul <kgraul@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e0e4b8fa53
commit
8c40602b4b
4 changed files with 355 additions and 0 deletions
|
|
@ -47,6 +47,7 @@ enum {
|
|||
SMC_NETLINK_GET_LGR_SMCD,
|
||||
SMC_NETLINK_GET_DEV_SMCD,
|
||||
SMC_NETLINK_GET_DEV_SMCR,
|
||||
SMC_NETLINK_GET_STATS,
|
||||
};
|
||||
|
||||
/* SMC_GENL_FAMILY top level attributes */
|
||||
|
|
@ -58,6 +59,7 @@ enum {
|
|||
SMC_GEN_LGR_SMCD, /* nest */
|
||||
SMC_GEN_DEV_SMCD, /* nest */
|
||||
SMC_GEN_DEV_SMCR, /* nest */
|
||||
SMC_GEN_STATS, /* nest */
|
||||
__SMC_GEN_MAX,
|
||||
SMC_GEN_MAX = __SMC_GEN_MAX - 1
|
||||
};
|
||||
|
|
@ -159,4 +161,71 @@ enum {
|
|||
SMC_NLA_DEV_MAX = __SMC_NLA_DEV_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_T_TX(RX)_RMB_SIZE nested attributes */
|
||||
/* SMC_NLA_STATS_TX(RX)PLOAD_SIZE nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_PLOAD_PAD,
|
||||
SMC_NLA_STATS_PLOAD_8K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_16K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_32K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_64K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_128K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_256K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_512K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_1024K, /* u64 */
|
||||
SMC_NLA_STATS_PLOAD_G_1024K, /* u64 */
|
||||
__SMC_NLA_STATS_PLOAD_MAX,
|
||||
SMC_NLA_STATS_PLOAD_MAX = __SMC_NLA_STATS_PLOAD_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_T_TX(RX)_RMB_STATS nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_RMB_PAD,
|
||||
SMC_NLA_STATS_RMB_SIZE_SM_PEER_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_SIZE_SM_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_FULL_PEER_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_FULL_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_REUSE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_ALLOC_CNT, /* u64 */
|
||||
SMC_NLA_STATS_RMB_DGRADE_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_RMB_MAX,
|
||||
SMC_NLA_STATS_RMB_MAX = __SMC_NLA_STATS_RMB_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_NLA_STATS_SMCD_TECH and _SMCR_TECH nested attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_T_PAD,
|
||||
SMC_NLA_STATS_T_TX_RMB_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_RX_RMB_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_TXPLOAD_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_RXPLOAD_SIZE, /* nest */
|
||||
SMC_NLA_STATS_T_TX_RMB_STATS, /* nest */
|
||||
SMC_NLA_STATS_T_RX_RMB_STATS, /* nest */
|
||||
SMC_NLA_STATS_T_CLNT_V1_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_CLNT_V2_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SRV_V1_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SRV_V2_SUCC, /* u64 */
|
||||
SMC_NLA_STATS_T_SENDPAGE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_SPLICE_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_CORK_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_NDLY_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_URG_DATA_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_RX_BYTES, /* u64 */
|
||||
SMC_NLA_STATS_T_TX_BYTES, /* u64 */
|
||||
SMC_NLA_STATS_T_RX_CNT, /* u64 */
|
||||
SMC_NLA_STATS_T_TX_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_T_MAX,
|
||||
SMC_NLA_STATS_T_MAX = __SMC_NLA_STATS_T_MAX - 1
|
||||
};
|
||||
|
||||
/* SMC_GEN_STATS attributes */
|
||||
enum {
|
||||
SMC_NLA_STATS_PAD,
|
||||
SMC_NLA_STATS_SMCD_TECH, /* nest */
|
||||
SMC_NLA_STATS_SMCR_TECH, /* nest */
|
||||
SMC_NLA_STATS_CLNT_HS_ERR_CNT, /* u64 */
|
||||
SMC_NLA_STATS_SRV_HS_ERR_CNT, /* u64 */
|
||||
__SMC_NLA_STATS_MAX,
|
||||
SMC_NLA_STATS_MAX = __SMC_NLA_STATS_MAX - 1
|
||||
};
|
||||
#endif /* _UAPI_LINUX_SMC_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue