VSW_LOCALDEV
vsw_mac_client_cleanup(vswp, NULL, VSW_LOCALDEV);
rv = vsw_mac_client_init(vswp, NULL, VSW_LOCALDEV);
if (vsw_add_mcst(vswp, VSW_LOCALDEV, addr, NULL) == 0) {
VSW_LOCALDEV, addr, NULL);
VSW_LOCALDEV);
VSW_LOCALDEV, addr, NULL);
if (vsw_del_mcst(vswp, VSW_LOCALDEV, addr, NULL) == 0) {
mcst_p = vsw_del_addr(VSW_LOCALDEV, vswp, addr);
vsw_mac_multicast_remove(vswp, NULL, mcst_p, VSW_LOCALDEV);
mp = vsw_vlan_frame_pretag(vswp, VSW_LOCALDEV, mp);
vswp->vsw_switch_frame(vswp, mp, VSW_LOCALDEV, NULL, NULL);
vsw_vlan_read_ids(vswp, VSW_LOCALDEV, mdp, node, &vswp->pvid,
if (type == VSW_LOCALDEV) {
if (type == VSW_LOCALDEV && default_idp != NULL) {
vsw_vlan_read_ids(vswp, VSW_LOCALDEV, mdp, node, &pvid, &vids,
vsw_vlan_remove_ids(vswp, VSW_LOCALDEV);
vsw_vlan_add_ids(vswp, VSW_LOCALDEV);
vsw_update_bandwidth(vswp, NULL, VSW_LOCALDEV, maxbw);
(void) vsw_vlan_frame_untag(vswp, VSW_LOCALDEV, &mp, &mpt);
vsw_create_vlans((void *)vswp, VSW_LOCALDEV);
vsw_destroy_vlans(vswp, VSW_LOCALDEV);
vsw_mac_multicast_remove_all(vswp, NULL, VSW_LOCALDEV);
vsw_unset_hw(vswp, NULL, VSW_LOCALDEV);
vsw_maccl_close(vswp, NULL, VSW_LOCALDEV);
rv = vsw_maccl_open(vswp, NULL, VSW_LOCALDEV);
if (vsw_set_hw(vswp, NULL, VSW_LOCALDEV)) {
vsw_mac_multicast_add_all(vswp, NULL, VSW_LOCALDEV);
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
(type == VSW_LOCALDEV) ? rw_enter(&vswp->maccl_rwlock, RW_WRITER) :\
(type == VSW_LOCALDEV) ? rw_enter(&vswp->maccl_rwlock, RW_READER) :\
(type == VSW_LOCALDEV) ? rw_exit(&vswp->maccl_rwlock) : \
rv = vsw_mac_client_init(vswp, NULL, VSW_LOCALDEV);
vsw_mac_client_cleanup(vswp, NULL, VSW_LOCALDEV);
mch = (type == VSW_LOCALDEV) ? vswp->mch : port->p_mch;
mch = (type == VSW_LOCALDEV) ? vswp->mch : port->p_mch;
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
if (type == VSW_LOCALDEV) {
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
if (type == VSW_LOCALDEV) {
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
mchp = (type == VSW_LOCALDEV) ? &vswp->mch : &port->p_mch;
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
mchp = (type == VSW_LOCALDEV) ? &vswp->mch : &port->p_mch;
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
vsw_maccl_set_bandwidth(vswp, NULL, VSW_LOCALDEV, vswp->bandwidth);
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
if (type == VSW_LOCALDEV) {
if ((type == VSW_LOCALDEV) && (vswp->addr_set == B_TRUE)) {
count = vsw_vlan_frame_untag(vswp, VSW_LOCALDEV, &mp, &mpt);
mch = (caller == VSW_LOCALDEV) ? vswp->mch : port->p_mch;
muh = (caller == VSW_LOCALDEV) ? vswp->muh : port->p_muh;
if (type == VSW_LOCALDEV) {
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
if (type == VSW_LOCALDEV) {
ASSERT((type == VSW_LOCALDEV) || (type == VSW_VNETPORT));
if (type == VSW_LOCALDEV) {
case VSW_LOCALDEV:
(void) vsw_del_mcst(vswp, VSW_LOCALDEV, vswp->mcap->addr, NULL);
ASSERT((caller == VSW_VNETPORT) || (caller == VSW_LOCALDEV));
if (caller != VSW_LOCALDEV) {
} else if (caller == VSW_LOCALDEV) {
if ((caller != VSW_LOCALDEV) && (caller != VSW_VNETPORT)) {
((caller == VSW_LOCALDEV) || (caller == VSW_VNETPORT))) {
((caller == VSW_VNETPORT) || (caller == VSW_LOCALDEV))) {
} else if ((caller == VSW_LOCALDEV) &&
(tpp->d_type == VSW_LOCALDEV)) {
if (type == VSW_LOCALDEV) {
if (type == VSW_LOCALDEV) {
if (type == VSW_LOCALDEV) {