Skip to content

Commit 461ae37

Browse files
Ajit Khapardedavem330
authored andcommitted
be2net: Display RoCE specific counters in ethtool -S
SkyHawk-R can support RoCE. Add code to display RoCE specific counters maintained in hardware. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 6100086 commit 461ae37

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

drivers/net/ethernet/emulex/benet/be.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,11 @@ struct be_drv_stats {
325325
u32 rx_input_fifo_overflow_drop;
326326
u32 pmem_fifo_overflow_drop;
327327
u32 jabber_events;
328+
u32 rx_roce_bytes_lsd;
329+
u32 rx_roce_bytes_msd;
330+
u32 rx_roce_frames;
331+
u32 roce_drops_payload_len;
332+
u32 roce_drops_crc;
328333
};
329334

330335
struct be_vf_cfg {

drivers/net/ethernet/emulex/benet/be_ethtool.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,12 @@ static const struct be_ethtool_stat et_stats[] = {
116116
{DRVSTAT_INFO(rx_drops_mtu)},
117117
/* Number of packets dropped due to random early drop function */
118118
{DRVSTAT_INFO(eth_red_drops)},
119-
{DRVSTAT_INFO(be_on_die_temperature)}
119+
{DRVSTAT_INFO(be_on_die_temperature)},
120+
{DRVSTAT_INFO(rx_roce_bytes_lsd)},
121+
{DRVSTAT_INFO(rx_roce_bytes_msd)},
122+
{DRVSTAT_INFO(rx_roce_frames)},
123+
{DRVSTAT_INFO(roce_drops_payload_len)},
124+
{DRVSTAT_INFO(roce_drops_crc)}
120125
};
121126
#define ETHTOOL_STATS_NUM ARRAY_SIZE(et_stats)
122127

drivers/net/ethernet/emulex/benet/be_main.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,14 @@ static void populate_be_v2_stats(struct be_adapter *adapter)
474474
drvs->rx_drops_no_tpre_descr = rxf_stats->rx_drops_no_tpre_descr;
475475
drvs->rx_drops_too_many_frags = rxf_stats->rx_drops_too_many_frags;
476476
adapter->drv_stats.eth_red_drops = pmem_sts->eth_red_drops;
477+
if (be_roce_supported(adapter)) {
478+
drvs->rx_roce_bytes_lsd = port_stats->roce_bytes_received_lsd;
479+
drvs->rx_roce_bytes_msd = port_stats->roce_bytes_received_msd;
480+
drvs->rx_roce_frames = port_stats->roce_frames_received;
481+
drvs->roce_drops_crc = port_stats->roce_drops_crc;
482+
drvs->roce_drops_payload_len =
483+
port_stats->roce_drops_payload_len;
484+
}
477485
}
478486

479487
static void populate_lancer_stats(struct be_adapter *adapter)

0 commit comments

Comments
 (0)