Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ae/if_ae.c
Show All 12 Lines | |||||
struct ae_stats *ae_stats; | struct ae_stats *ae_stats; | ||||
KASSERT(sc != NULL, ("[ae, %d]: sc is NULL", __LINE__)); | KASSERT(sc != NULL, ("[ae, %d]: sc is NULL", __LINE__)); | ||||
ae_stats = &sc->stats; | ae_stats = &sc->stats; | ||||
ctx = device_get_sysctl_ctx(sc->dev); | ctx = device_get_sysctl_ctx(sc->dev); | ||||
root = device_get_sysctl_tree(sc->dev); | root = device_get_sysctl_tree(sc->dev); | ||||
stats = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(root), OID_AUTO, "stats", | stats = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(root), OID_AUTO, "stats", | ||||
CTLFLAG_RD, NULL, "ae statistics"); | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "ae statistics"); | ||||
/* | /* | ||||
* Receiver statistcics. | * Receiver statistcics. | ||||
*/ | */ | ||||
stats_rx = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "rx", | stats_rx = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "rx", | ||||
CTLFLAG_RD, NULL, "Rx MAC statistics"); | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Rx MAC statistics"); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "bcast", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "bcast", | ||||
"broadcast frames", &ae_stats->rx_bcast); | "broadcast frames", &ae_stats->rx_bcast); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "mcast", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "mcast", | ||||
"multicast frames", &ae_stats->rx_mcast); | "multicast frames", &ae_stats->rx_mcast); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "pause", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "pause", | ||||
"PAUSE frames", &ae_stats->rx_pause); | "PAUSE frames", &ae_stats->rx_pause); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "control", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "control", | ||||
"control frames", &ae_stats->rx_ctrl); | "control frames", &ae_stats->rx_ctrl); | ||||
Show All 9 Lines | |||||
"frames with alignment errors", &ae_stats->rx_align); | "frames with alignment errors", &ae_stats->rx_align); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "truncated", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_rx), "truncated", | ||||
"frames truncated due to Rx FIFO inderrun", &ae_stats->rx_trunc); | "frames truncated due to Rx FIFO inderrun", &ae_stats->rx_trunc); | ||||
/* | /* | ||||
* Receiver statistcics. | * Receiver statistcics. | ||||
*/ | */ | ||||
stats_tx = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "tx", | stats_tx = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "tx", | ||||
CTLFLAG_RD, NULL, "Tx MAC statistics"); | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Tx MAC statistics"); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "bcast", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "bcast", | ||||
"broadcast frames", &ae_stats->tx_bcast); | "broadcast frames", &ae_stats->tx_bcast); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "mcast", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "mcast", | ||||
"multicast frames", &ae_stats->tx_mcast); | "multicast frames", &ae_stats->tx_mcast); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "pause", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "pause", | ||||
"PAUSE frames", &ae_stats->tx_pause); | "PAUSE frames", &ae_stats->tx_pause); | ||||
AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "control", | AE_SYSCTL(ctx, SYSCTL_CHILDREN(stats_tx), "control", | ||||
"control frames", &ae_stats->tx_ctrl); | "control frames", &ae_stats->tx_ctrl); | ||||
Show All 12 Lines |