Print this page
11493 aggr needs support for multiple pseudo rx groups
Portions contributed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
@@ -19,10 +19,11 @@
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2018 Joyent, Inc.
*/
/*
* MAC Services Module
*/
@@ -1001,10 +1002,11 @@
void
mac_ring_stat_create(mac_ring_t *ring)
{
mac_impl_t *mip = ring->mr_mip;
+ mac_group_t *grp = (mac_group_t *)ring->mr_gh;
char statname[MAXNAMELEN];
char modname[MAXNAMELEN];
if (mip->mi_state_flags & MIS_IS_AGGR) {
(void) strlcpy(modname, mip->mi_clients_list->mci_name,
@@ -1012,12 +1014,12 @@
} else
(void) strlcpy(modname, mip->mi_name, MAXNAMELEN);
switch (ring->mr_type) {
case MAC_RING_TYPE_RX:
- (void) snprintf(statname, sizeof (statname), "mac_rx_ring%d",
- ring->mr_index);
+ (void) snprintf(statname, sizeof (statname),
+ "mac_rx_ring_%d_%d", grp->mrg_index, ring->mr_index);
i_mac_rx_ring_stat_create(ring, modname, statname);
break;
case MAC_RING_TYPE_TX:
(void) snprintf(statname, sizeof (statname), "mac_tx_ring%d",