Print this page
6274 MAC tries to use aggr rings from downed links
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Richard Lowe <richlowe@richlowe.net>


 119 extern void mac_rx_client_restart(mac_client_handle_t);
 120 extern void mac_tx_client_quiesce(mac_client_handle_t);
 121 extern void mac_tx_client_condemn(mac_client_handle_t);
 122 extern void mac_tx_client_restart(mac_client_handle_t);
 123 extern void mac_srs_perm_quiesce(mac_client_handle_t, boolean_t);
 124 extern int mac_hwrings_get(mac_client_handle_t, mac_group_handle_t *,
 125     mac_ring_handle_t *, mac_ring_type_t);
 126 extern uint_t mac_hwring_getinfo(mac_ring_handle_t);
 127 extern void mac_hwring_setup(mac_ring_handle_t, mac_resource_handle_t,
 128     mac_ring_handle_t);
 129 extern void mac_hwring_teardown(mac_ring_handle_t);
 130 extern int mac_hwring_disable_intr(mac_ring_handle_t);
 131 extern int mac_hwring_enable_intr(mac_ring_handle_t);
 132 extern int mac_hwring_start(mac_ring_handle_t);
 133 extern void mac_hwring_stop(mac_ring_handle_t);
 134 extern mblk_t *mac_hwring_poll(mac_ring_handle_t, int);
 135 extern mblk_t *mac_hwring_tx(mac_ring_handle_t, mblk_t *);
 136 extern int mac_hwring_getstat(mac_ring_handle_t, uint_t, uint64_t *);
 137 extern mblk_t *mac_hwring_send_priv(mac_client_handle_t,
 138     mac_ring_handle_t, mblk_t *);

 139 
 140 #define MAC_HWRING_POLL(ring, bytes)                    \
 141         (((ring)->mr_info.mri_poll)                  \
 142         ((ring)->mr_info.mri_driver, (bytes)))
 143 
 144 extern int mac_hwgroup_addmac(mac_group_handle_t, const uint8_t *);
 145 extern int mac_hwgroup_remmac(mac_group_handle_t, const uint8_t *);
 146 
 147 extern void mac_set_upper_mac(mac_client_handle_t, mac_handle_t,
 148     mac_resource_props_t *);
 149 
 150 extern int mac_mark_exclusive(mac_handle_t);
 151 extern void mac_unmark_exclusive(mac_handle_t);
 152 
 153 extern uint_t mac_hwgrp_num(mac_handle_t, int);
 154 extern void mac_get_hwrxgrp_info(mac_handle_t, int, uint_t *, uint_t *,
 155     uint_t *, uint_t *, uint_t *, char *);
 156 extern void mac_get_hwtxgrp_info(mac_handle_t, int, uint_t *, uint_t *,
 157     uint_t *, uint_t *, uint_t *, char *);
 158 




 119 extern void mac_rx_client_restart(mac_client_handle_t);
 120 extern void mac_tx_client_quiesce(mac_client_handle_t);
 121 extern void mac_tx_client_condemn(mac_client_handle_t);
 122 extern void mac_tx_client_restart(mac_client_handle_t);
 123 extern void mac_srs_perm_quiesce(mac_client_handle_t, boolean_t);
 124 extern int mac_hwrings_get(mac_client_handle_t, mac_group_handle_t *,
 125     mac_ring_handle_t *, mac_ring_type_t);
 126 extern uint_t mac_hwring_getinfo(mac_ring_handle_t);
 127 extern void mac_hwring_setup(mac_ring_handle_t, mac_resource_handle_t,
 128     mac_ring_handle_t);
 129 extern void mac_hwring_teardown(mac_ring_handle_t);
 130 extern int mac_hwring_disable_intr(mac_ring_handle_t);
 131 extern int mac_hwring_enable_intr(mac_ring_handle_t);
 132 extern int mac_hwring_start(mac_ring_handle_t);
 133 extern void mac_hwring_stop(mac_ring_handle_t);
 134 extern mblk_t *mac_hwring_poll(mac_ring_handle_t, int);
 135 extern mblk_t *mac_hwring_tx(mac_ring_handle_t, mblk_t *);
 136 extern int mac_hwring_getstat(mac_ring_handle_t, uint_t, uint64_t *);
 137 extern mblk_t *mac_hwring_send_priv(mac_client_handle_t,
 138     mac_ring_handle_t, mblk_t *);
 139 extern void mac_hwring_set_default(mac_handle_t, mac_ring_handle_t);
 140 
 141 #define MAC_HWRING_POLL(ring, bytes)                    \
 142         (((ring)->mr_info.mri_poll)                  \
 143         ((ring)->mr_info.mri_driver, (bytes)))
 144 
 145 extern int mac_hwgroup_addmac(mac_group_handle_t, const uint8_t *);
 146 extern int mac_hwgroup_remmac(mac_group_handle_t, const uint8_t *);
 147 
 148 extern void mac_set_upper_mac(mac_client_handle_t, mac_handle_t,
 149     mac_resource_props_t *);
 150 
 151 extern int mac_mark_exclusive(mac_handle_t);
 152 extern void mac_unmark_exclusive(mac_handle_t);
 153 
 154 extern uint_t mac_hwgrp_num(mac_handle_t, int);
 155 extern void mac_get_hwrxgrp_info(mac_handle_t, int, uint_t *, uint_t *,
 156     uint_t *, uint_t *, uint_t *, char *);
 157 extern void mac_get_hwtxgrp_info(mac_handle_t, int, uint_t *, uint_t *,
 158     uint_t *, uint_t *, uint_t *, char *);
 159