#include <linux/debugfs.h>
#include <linux/ethtool.h>
#include <linux/random.h>
#include "netdevsim.h"
static void
nsim_get_pause_stats(struct net_device *dev,
struct ethtool_pause_stats *pause_stats)
{ … }
static void
nsim_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *pause)
{ … }
static int
nsim_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *pause)
{ … }
static int nsim_get_coalesce(struct net_device *dev,
struct ethtool_coalesce *coal,
struct kernel_ethtool_coalesce *kernel_coal,
struct netlink_ext_ack *extack)
{ … }
static int nsim_set_coalesce(struct net_device *dev,
struct ethtool_coalesce *coal,
struct kernel_ethtool_coalesce *kernel_coal,
struct netlink_ext_ack *extack)
{ … }
static void nsim_get_ringparam(struct net_device *dev,
struct ethtool_ringparam *ring,
struct kernel_ethtool_ringparam *kernel_ring,
struct netlink_ext_ack *extack)
{ … }
static int nsim_set_ringparam(struct net_device *dev,
struct ethtool_ringparam *ring,
struct kernel_ethtool_ringparam *kernel_ring,
struct netlink_ext_ack *extack)
{ … }
static void
nsim_get_channels(struct net_device *dev, struct ethtool_channels *ch)
{ … }
static int
nsim_set_channels(struct net_device *dev, struct ethtool_channels *ch)
{ … }
static int
nsim_get_fecparam(struct net_device *dev, struct ethtool_fecparam *fecparam)
{ … }
static int
nsim_set_fecparam(struct net_device *dev, struct ethtool_fecparam *fecparam)
{ … }
static void
nsim_get_fec_stats(struct net_device *dev, struct ethtool_fec_stats *fec_stats)
{ … }
static int nsim_get_ts_info(struct net_device *dev,
struct kernel_ethtool_ts_info *info)
{ … }
static const struct ethtool_ops nsim_ethtool_ops = …;
static void nsim_ethtool_ring_init(struct netdevsim *ns)
{ … }
void nsim_ethtool_init(struct netdevsim *ns)
{ … }