#include <linux/dcbnl.h>
#include <linux/math64.h>
#include "mlx4_en.h"
#include "fw_qos.h"
enum { … };
struct mlx4_congestion_control_mb_prio_802_1_qau_params { … };
struct mlx4_congestion_control_mb_prio_802_1_qau_statistics { … };
static u8 mlx4_en_dcbnl_getcap(struct net_device *dev, int capid, u8 *cap)
{ … }
static u8 mlx4_en_dcbnl_getpfcstate(struct net_device *netdev)
{ … }
static void mlx4_en_dcbnl_setpfcstate(struct net_device *netdev, u8 state)
{ … }
static void mlx4_en_dcbnl_get_pfc_cfg(struct net_device *netdev, int priority,
u8 *setting)
{ … }
static void mlx4_en_dcbnl_set_pfc_cfg(struct net_device *netdev, int priority,
u8 setting)
{ … }
static int mlx4_en_dcbnl_getnumtcs(struct net_device *netdev, int tcid, u8 *num)
{ … }
static u8 mlx4_en_dcbnl_set_all(struct net_device *netdev)
{ … }
static u8 mlx4_en_dcbnl_get_state(struct net_device *dev)
{ … }
static u8 mlx4_en_dcbnl_set_state(struct net_device *dev, u8 state)
{ … }
static int mlx4_en_dcbnl_getapp(struct net_device *netdev, u8 idtype, u16 id)
{ … }
static int mlx4_en_dcbnl_setapp(struct net_device *netdev, u8 idtype,
u16 id, u8 up)
{ … }
static int mlx4_en_dcbnl_ieee_getets(struct net_device *dev,
struct ieee_ets *ets)
{ … }
static int mlx4_en_ets_validate(struct mlx4_en_priv *priv, struct ieee_ets *ets)
{ … }
static int mlx4_en_config_port_scheduler(struct mlx4_en_priv *priv,
struct ieee_ets *ets, u16 *ratelimit)
{ … }
static int
mlx4_en_dcbnl_ieee_setets(struct net_device *dev, struct ieee_ets *ets)
{ … }
static int mlx4_en_dcbnl_ieee_getpfc(struct net_device *dev,
struct ieee_pfc *pfc)
{ … }
static int mlx4_en_dcbnl_ieee_setpfc(struct net_device *dev,
struct ieee_pfc *pfc)
{ … }
static u8 mlx4_en_dcbnl_getdcbx(struct net_device *dev)
{ … }
static u8 mlx4_en_dcbnl_setdcbx(struct net_device *dev, u8 mode)
{ … }
#define MLX4_RATELIMIT_UNITS_IN_KB …
static int mlx4_en_dcbnl_ieee_getmaxrate(struct net_device *dev,
struct ieee_maxrate *maxrate)
{ … }
static int mlx4_en_dcbnl_ieee_setmaxrate(struct net_device *dev,
struct ieee_maxrate *maxrate)
{ … }
#define RPG_ENABLE_BIT …
#define CN_TAG_BIT …
static int mlx4_en_dcbnl_ieee_getqcn(struct net_device *dev,
struct ieee_qcn *qcn)
{ … }
static int mlx4_en_dcbnl_ieee_setqcn(struct net_device *dev,
struct ieee_qcn *qcn)
{ … }
static int mlx4_en_dcbnl_ieee_getqcnstats(struct net_device *dev,
struct ieee_qcn_stats *qcn_stats)
{ … }
const struct dcbnl_rtnl_ops mlx4_en_dcbnl_ops = …;
const struct dcbnl_rtnl_ops mlx4_en_dcbnl_pfc_ops = …;