Lines Matching refs:mcast
805 struct xenvif_mcast_addr *mcast; in xenvif_mcast_add() local
814 mcast = kzalloc(sizeof(*mcast), GFP_ATOMIC); in xenvif_mcast_add()
815 if (!mcast) in xenvif_mcast_add()
818 ether_addr_copy(mcast->addr, addr); in xenvif_mcast_add()
819 list_add_tail_rcu(&mcast->entry, &vif->fe_mcast_addr); in xenvif_mcast_add()
827 struct xenvif_mcast_addr *mcast; in xenvif_mcast_del() local
829 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { in xenvif_mcast_del()
830 if (ether_addr_equal(addr, mcast->addr)) { in xenvif_mcast_del()
832 list_del_rcu(&mcast->entry); in xenvif_mcast_del()
833 kfree_rcu(mcast, rcu); in xenvif_mcast_del()
841 struct xenvif_mcast_addr *mcast; in xenvif_mcast_match() local
844 list_for_each_entry_rcu(mcast, &vif->fe_mcast_addr, entry) { in xenvif_mcast_match()
845 if (ether_addr_equal(addr, mcast->addr)) { in xenvif_mcast_match()
861 struct xenvif_mcast_addr *mcast; in xenvif_mcast_addr_list_free() local
863 mcast = list_first_entry(&vif->fe_mcast_addr, in xenvif_mcast_addr_list_free()
867 list_del(&mcast->entry); in xenvif_mcast_addr_list_free()
868 kfree(mcast); in xenvif_mcast_addr_list_free()
934 ret = xenvif_mcast_add(queue->vif, extra->u.mcast.addr); in xenvif_tx_build_gops()
948 xenvif_mcast_del(queue->vif, extra->u.mcast.addr); in xenvif_tx_build_gops()