linux/net/smc/smc_stats.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Shared Memory Communications over RDMA (SMC-R) and RoCE
 *
 * Macros for SMC statistics
 *
 * Copyright IBM Corp. 2021
 *
 * Author(s):  Guvenc Gulce
 */

#ifndef NET_SMC_SMC_STATS_H_
#define NET_SMC_SMC_STATS_H_
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/percpu.h>
#include <linux/ctype.h>
#include <linux/smc.h>

#include "smc_clc.h"

#define SMC_MAX_FBACK_RSN_CNT

enum {};

struct smc_stats_fback {};

struct smc_stats_rsn {};

struct smc_stats_rmbcnt {};

struct smc_stats_memsize {};

struct smc_stats_tech {};

struct smc_stats {};

#define SMC_STAT_PAYLOAD_SUB(_smc_stats, _tech, key, _len, _rc)

#define SMC_STAT_TX_PAYLOAD(_smc, length, rcode)

#define SMC_STAT_RX_PAYLOAD(_smc, length, rcode)

#define SMC_STAT_RMB_SIZE_SUB(_smc_stats, _tech, k, _len)

#define SMC_STAT_RMB_SUB(_smc_stats, type, t, key)

#define SMC_STAT_RMB_SIZE(_smc, _is_smcd, _is_rx, _len)

#define SMC_STAT_RMB(_smc, type, _is_smcd, _is_rx)

#define SMC_STAT_BUF_REUSE(smc, is_smcd, is_rx)

#define SMC_STAT_RMB_ALLOC(smc, is_smcd, is_rx)

#define SMC_STAT_RMB_DOWNGRADED(smc, is_smcd, is_rx)

#define SMC_STAT_RMB_TX_PEER_FULL(smc, is_smcd)

#define SMC_STAT_RMB_TX_FULL(smc, is_smcd)

#define SMC_STAT_RMB_TX_PEER_SIZE_SMALL(smc, is_smcd)

#define SMC_STAT_RMB_TX_SIZE_SMALL(smc, is_smcd)

#define SMC_STAT_RMB_RX_SIZE_SMALL(smc, is_smcd)

#define SMC_STAT_RMB_RX_FULL(smc, is_smcd)

#define SMC_STAT_INC(_smc, type)

#define SMC_STAT_CLNT_SUCC_INC(net, _aclc)

#define SMC_STAT_SERV_SUCC_INC(net, _ini)

int smc_nl_get_stats(struct sk_buff *skb, struct netlink_callback *cb);
int smc_nl_get_fback_stats(struct sk_buff *skb, struct netlink_callback *cb);
int smc_stats_init(struct net *net);
void smc_stats_exit(struct net *net);

#endif /* NET_SMC_SMC_STATS_H_ */