mac_group_t
mac_group_t mg;
if (mdb_vread(&mg, sizeof (mac_group_t), mgp) == -1) {
if (mdb_vread(&mg, sizeof (mac_group_t), mgp) == -1) {
mac_group_count_clients(mac_group_t *mgp)
mac_group_type(mac_group_t *mgp)
mac_group_state(mac_group_t *mgp)
mac_group_t mg;
if (mdb_vread(&mg, sizeof (mac_group_t), addr) == -1) {
mac_group_t group;
mac_group_t *defgrp;
mac_group_t *grp;
mac_rx_group_unmark(mac_group_t *grp, uint_t flag)
mac_group_t *grp;
mac_group_t *grp;
mac_group_t *group = (mac_group_t *)gh;
mac_group_t *group = (mac_group_t *)gh;
mac_group_t *group = (mac_group_t *)gh;
mac_group_t *group = (mac_group_t *)gh;
mac_set_group_state(mac_group_t *grp, mac_group_state_t state)
static int mac_start_group_and_rings(mac_group_t *);
static void mac_stop_group_and_rings(mac_group_t *);
mac_start_group(mac_group_t *group)
mac_stop_group(mac_group_t *group)
mac_start_group_and_rings(mac_group_t *group)
mac_stop_group_and_rings(mac_group_t *group)
mac_init_ring(mac_impl_t *mip, mac_group_t *group, int index,
mac_init_group(mac_impl_t *mip, mac_group_t *group, int size,
mac_group_t *group;
mac_group_t *groups;
groups = kmem_zalloc(sizeof (mac_group_t) * (grpcnt+ 1), KM_SLEEP);
mac_compare_ddi_handle(mac_group_t *groups, uint_t grpcnt, mac_ring_t *cring)
mac_group_t *group;
mac_group_t *group, *groups;
kmem_free(groups, sizeof (mac_group_t) * (group_count + 1));
mac_group_addvlan(mac_group_t *group, uint16_t vlan)
mac_group_remvlan(mac_group_t *group, uint16_t vlan)
mac_group_addmac(mac_group_t *group, const uint8_t *addr)
mac_group_remmac(mac_group_t *group, const uint8_t *addr)
mac_group_t *group = (mac_group_t *)gh;
i_mac_group_add_ring(mac_group_t *group, mac_ring_t *ring, int index)
i_mac_group_rem_ring(mac_group_t *group, mac_ring_t *ring,
ASSERT((mac_group_t *)ring->mr_gh == group);
mac_group_t *defgrp;
mac_group_mov_ring(mac_impl_t *mip, mac_group_t *d_group, mac_ring_t *ring)
mac_group_t *s_group = (mac_group_t *)ring->mr_gh;
mac_add_macaddr_vlan(mac_impl_t *mip, mac_group_t *group, uint8_t *addr,
mac_group_t *group = map->ma_group;
mac_group_t *group;
mac_get_grp_primary(mac_group_t *grp)
mac_group_t *group = (mac_group_t *)ring->mr_gh;
mac_group_t *defgrp;
mac_group_t *tgrp;
mac_group_t *src_group, mac_group_t *new_group, mac_share_handle_t share,
mac_group_add_client(mac_group_t *grp, mac_client_impl_t *mcip)
mac_group_remove_client(mac_group_t *grp, mac_client_impl_t *mcip)
i_mac_clients_hw(mac_group_t *grp, uint32_t mask)
mac_group_t *
mac_group_t *grp = NULL;
mac_group_t *candidate_grp = NULL;
mac_group_t *donorgrp = NULL;
mac_release_rx_group(mac_client_impl_t *mcip, mac_group_t *group)
mac_rx_move_macaddr(mac_client_impl_t *mcip, mac_group_t *fgrp,
mac_group_t *tgrp)
mac_rx_switch_group(mac_client_impl_t *mcip, mac_group_t *fgrp,
mac_group_t *tgrp)
mac_group_t *
mac_group_t *grp = NULL;
mac_group_t *defgrp;
mac_group_t *candidate_grp = NULL;
mac_release_tx_group(mac_client_impl_t *mcip, mac_group_t *grp)
mac_group_t *defgrp;
mac_tx_dismantle_soft_rings(mac_group_t *fgrp, flow_entry_t *flent)
mac_tx_switch_group(mac_client_impl_t *mcip, mac_group_t *fgrp,
mac_group_t *tgrp)
mac_group_t *defgrp;
mac_group_ring_modify(mac_client_impl_t *mcip, mac_group_t *group,
mac_group_t *defgrp)
mac_group_t *tgrp;
mac_group_t *grp;
mac_group_t *defgrp;
mac_group_t *defgrp = MAC_DEFAULT_RX_GROUP(mip);
mac_group_t *ngrp;
mac_group_t *defgrp;
mac_group_t *group;
mac_group_t *ngrp;
mac_rx_switch_grp_to_sw(mac_group_t *group)
mac_group_t *rx_group = flent->fe_rx_ring_group;
mac_group_t *grp;
grp = (mac_group_t *)flent->fe_tx_ring_group;
mac_group_next_state(mac_group_t *grp, mac_client_impl_t **group_only_mcip,
mac_group_t *defgrp, boolean_t rx_group)
mac_group_t *rgroup = NULL;
mac_group_t *tgroup = NULL;
mac_group_t *default_rgroup;
mac_group_t *default_tgroup;
mac_group_t *group = NULL;
mac_group_t *default_group;
mac_group_t *grp = NULL;
if (RETARGETABLE_CLIENT((mac_group_t *)flent->fe_tx_ring_group,
mac_ring_intr_retarget(mac_group_t *group, mac_ring_t *ring)
mac_group_t *pgroup;
pgroup = (mac_group_t *)pring->mr_gh;
mac_group_t *group = (mac_group_t *)ring->mr_gh;
mac_group_t *group = (mac_group_t *)gh;
mac_group_t *group = (mac_group_t *)gh;
mac_group_t *grp = (mac_group_t *)ring->mr_gh;
mac_group_t *group;
mac_group_t *mrg_next; /* next group in the chain */
mac_group_t *ma_group; /* asscociated group */
mac_group_t *mi_rx_groups;
mac_group_t *mi_rx_donor_grp;
mac_group_t *mi_tx_groups;
extern int mac_group_addmac(mac_group_t *, const uint8_t *);
extern int mac_group_remmac(mac_group_t *, const uint8_t *);
extern int mac_group_addvlan(mac_group_t *, uint16_t);
extern int mac_group_remvlan(mac_group_t *, uint16_t);
extern mac_group_t *mac_reserve_rx_group(mac_client_impl_t *, uint8_t *,
extern void mac_release_rx_group(mac_client_impl_t *, mac_group_t *);
extern int mac_rx_switch_group(mac_client_impl_t *, mac_group_t *,
mac_group_t *);
extern mac_group_t *mac_reserve_tx_group(mac_client_impl_t *, boolean_t);
extern void mac_release_tx_group(mac_client_impl_t *, mac_group_t *);
extern void mac_tx_switch_group(mac_client_impl_t *, mac_group_t *,
mac_group_t *);
extern void mac_rx_switch_grp_to_sw(mac_group_t *);
extern void mac_rx_group_unmark(mac_group_t *, uint_t);
extern void mac_compare_ddi_handle(mac_group_t *, uint_t, mac_ring_t *);
extern int mac_start_group(mac_group_t *);
extern void mac_stop_group(mac_group_t *);
extern int mac_add_macaddr_vlan(mac_impl_t *, mac_group_t *, uint8_t *,
extern void mac_set_group_state(mac_group_t *, mac_group_state_t);
extern void mac_group_add_client(mac_group_t *, mac_client_impl_t *);
extern void mac_group_remove_client(mac_group_t *, mac_client_impl_t *);
extern int i_mac_group_add_ring(mac_group_t *, mac_ring_t *, int);
extern void i_mac_group_rem_ring(mac_group_t *, mac_ring_t *, boolean_t);
extern int mac_group_ring_modify(mac_client_impl_t *, mac_group_t *,
mac_group_t *);
extern mac_group_state_t mac_group_next_state(mac_group_t *,
mac_client_impl_t **, mac_group_t *, boolean_t);
mac_group_t *st_group; /* TX group for share */