The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=13d78e4b9d0a27128319a1241f00f7ab9aa864bb
commit 13d78e4b9d0a27128319a1241f00f7ab9aa864bb Author: Kevin Bowling <[email protected]> AuthorDate: 2026-08-11 19:39:52 +0000 Commit: Kevin Bowling <[email protected]> CommitDate: 2026-08-11 20:59:33 +0000 igc: Export EEE Low Power Idle counters The driver already accumulates the clear-on-read transmit and receive LPI event counters. Expose the 64-bit totals under the per-device eee sysctl node. MFC after: 2 weeks --- sys/dev/igc/if_igc.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/dev/igc/if_igc.c b/sys/dev/igc/if_igc.c index a06caaaceeab..8753209e8ea6 100644 --- a/sys/dev/igc/if_igc.c +++ b/sys/dev/igc/if_igc.c @@ -2856,8 +2856,8 @@ igc_add_hw_stats(struct igc_softc *sc) struct sysctl_oid_list *child = SYSCTL_CHILDREN(tree); struct igc_hw_stats *stats = &sc->stats; - struct sysctl_oid *stat_node, *queue_node, *int_node; - struct sysctl_oid_list *stat_list, *queue_list, *int_list; + struct sysctl_oid *eee_node, *stat_node, *queue_node, *int_node; + struct sysctl_oid_list *eee_list, *stat_list, *queue_list, *int_list; #define QUEUE_NAME_LEN 32 char namebuf[QUEUE_NAME_LEN]; @@ -2886,6 +2886,14 @@ igc_add_hw_stats(struct igc_softc *sc) SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "fc_low_water", CTLFLAG_RD, &sc->hw.fc.low_water, 0, "Flow Control Low Watermark"); + eee_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "eee", + CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + "Energy Efficient Ethernet statistics"); + eee_list = SYSCTL_CHILDREN(eee_node); + SYSCTL_ADD_UQUAD(ctx, eee_list, OID_AUTO, "tx_lpi_count", + CTLFLAG_RD, &stats->tlpic, "TX LPI event count"); + SYSCTL_ADD_UQUAD(ctx, eee_list, OID_AUTO, "rx_lpi_count", + CTLFLAG_RD, &stats->rlpic, "RX LPI event count"); for (int i = 0; i < sc->tx_num_queues; i++, tx_que++) { struct tx_ring *txr = &tx_que->txr;
