ixgbe: add pause frame stats
Report standard pause frame stats. They are already aggregated in struct ixgbe_hw_stats. The combination of the registers is suggested as equivalent to PAUSEMACCtrlFramesTransmitted / PAUSEMACCtrlFramesReceived by the Intel 82576EB datasheet, I could not find any information in the HW actually supported by ixgbe. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> Reviewed-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
423cffcf6c
Коммит
eabbe2bb68
|
@ -531,6 +531,16 @@ static int ixgbe_set_link_ksettings(struct net_device *netdev,
|
|||
return err;
|
||||
}
|
||||
|
||||
static void ixgbe_get_pause_stats(struct net_device *netdev,
|
||||
struct ethtool_pause_stats *stats)
|
||||
{
|
||||
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbe_hw_stats *hwstats = &adapter->stats;
|
||||
|
||||
stats->tx_pause_frames = hwstats->lxontxc + hwstats->lxofftxc;
|
||||
stats->rx_pause_frames = hwstats->lxonrxc + hwstats->lxoffrxc;
|
||||
}
|
||||
|
||||
static void ixgbe_get_pauseparam(struct net_device *netdev,
|
||||
struct ethtool_pauseparam *pause)
|
||||
{
|
||||
|
@ -3546,6 +3556,7 @@ static const struct ethtool_ops ixgbe_ethtool_ops = {
|
|||
.set_eeprom = ixgbe_set_eeprom,
|
||||
.get_ringparam = ixgbe_get_ringparam,
|
||||
.set_ringparam = ixgbe_set_ringparam,
|
||||
.get_pause_stats = ixgbe_get_pause_stats,
|
||||
.get_pauseparam = ixgbe_get_pauseparam,
|
||||
.set_pauseparam = ixgbe_set_pauseparam,
|
||||
.get_msglevel = ixgbe_get_msglevel,
|
||||
|
|
Загрузка…
Ссылка в новой задаче