Lines Matching refs:mcast
831 struct xenvif_mcast_addr *mcast; in xenvif_mcast_add() local
840 mcast = kzalloc(sizeof(*mcast), GFP_ATOMIC); in xenvif_mcast_add()
841 if (!mcast) in xenvif_mcast_add()
844 ether_addr_copy(mcast->addr, addr); in xenvif_mcast_add()
845 list_add_tail_rcu(&mcast->entry, &vif->fe_mcast_addr); in xenvif_mcast_add()
853 struct xenvif_mcast_addr *mcast; in xenvif_mcast_del() local
855 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { in xenvif_mcast_del()
856 if (ether_addr_equal(addr, mcast->addr)) { in xenvif_mcast_del()
858 list_del_rcu(&mcast->entry); in xenvif_mcast_del()
859 kfree_rcu(mcast, rcu); in xenvif_mcast_del()
867 struct xenvif_mcast_addr *mcast; in xenvif_mcast_match() local
870 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { in xenvif_mcast_match()
871 if (ether_addr_equal(addr, mcast->addr)) { in xenvif_mcast_match()
887 struct xenvif_mcast_addr *mcast; in xenvif_mcast_addr_list_free() local
889 mcast = list_first_entry(&vif->fe_mcast_addr, in xenvif_mcast_addr_list_free()
893 list_del(&mcast->entry); in xenvif_mcast_addr_list_free()
894 kfree(mcast); in xenvif_mcast_addr_list_free()
960 ret = xenvif_mcast_add(queue->vif, extra->u.mcast.addr); in xenvif_tx_build_gops()
974 xenvif_mcast_del(queue->vif, extra->u.mcast.addr); in xenvif_tx_build_gops()