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>
@@ -20,10 +20,11 @@
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2018 Joyent, Inc.
*/
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/param.h>
@@ -2403,11 +2404,11 @@
rx_ringp->gen_num = mr_gen_num;
rx_ringp->state |= VNET_RXRING_STARTED;
return (0);
}
- err = mac_hwring_start(rx_ringp->hw_rh);
+ err = mac_hwring_activate(rx_ringp->hw_rh);
if (err == 0) {
rx_ringp->gen_num = mr_gen_num;
rx_ringp->state |= VNET_RXRING_STARTED;
} else {
err = ENXIO;
@@ -2441,11 +2442,11 @@
if (rx_ringp->hw_rh == NULL) {
rx_ringp->state &= ~VNET_RXRING_STARTED;
return;
}
- mac_hwring_stop(rx_ringp->hw_rh);
+ mac_hwring_quiesce(rx_ringp->hw_rh);
rx_ringp->state &= ~VNET_RXRING_STARTED;
}
static int
vnet_rx_ring_stat(mac_ring_driver_t rdriver, uint_t stat, uint64_t *val)
@@ -2844,11 +2845,11 @@
mac_hwring_setup(rx_ringp->hw_rh,
(mac_resource_handle_t)rx_ringp, NULL);
/* Start the hwring if needed */
if (rx_ringp->state & VNET_RXRING_STARTED) {
- rv = mac_hwring_start(rx_ringp->hw_rh);
+ rv = mac_hwring_activate(rx_ringp->hw_rh);
if (rv != 0) {
mac_hwring_teardown(rx_ringp->hw_rh);
rx_ringp->hw_rh = NULL;
goto fail;
}
@@ -2918,11 +2919,11 @@
rx_grp = &vnetp->rx_grp[0];
for (i = 0; i < VNET_NUM_HYBRID_RINGS; i++) {
rx_ringp = &rx_grp->rings[i + VNET_HYBRID_RXRING_INDEX];
if (rx_ringp->hw_rh != NULL) {
/* Stop the hwring */
- mac_hwring_stop(rx_ringp->hw_rh);
+ mac_hwring_quiesce(rx_ringp->hw_rh);
/* Teardown the hwring */
mac_hwring_teardown(rx_ringp->hw_rh);
rx_ringp->hw_rh = NULL;
}