Lines Matching refs:ifma
475 struct ifmultiaddr *ifma; in if_findmulti() local
477 TAILQ_FOREACH (ifma, &ifp->if_multiaddrs, ifma_link) { in if_findmulti()
479 LLADDR((struct sockaddr_dl *)ifma->ifma_addr), ETHER_ADDR_LEN) == 0) in if_findmulti()
480 return ifma; in if_findmulti()
494 if_freemulti(struct ifmultiaddr *ifma) in if_freemulti() argument
497 KASSERT(ifma->ifma_refcount == 0, ("if_freemulti: refcount %d", in if_freemulti()
498 ifma->ifma_refcount)); in if_freemulti()
499 KASSERT(ifma->ifma_protospec == NULL, in if_freemulti()
502 if (ifma->ifma_lladdr != NULL) in if_freemulti()
503 free(ifma->ifma_lladdr); in if_freemulti()
510 free(ifma); in if_freemulti()
570 if_delmulti_locked(struct ifnet *ifp, struct ifmultiaddr *ifma, int detaching) in if_delmulti_locked() argument
574 if (ifp != NULL && ifma->ifma_ifp != NULL) { in if_delmulti_locked()
575 KASSERT(ifma->ifma_ifp == ifp, in if_delmulti_locked()
580 ifp = ifma->ifma_ifp; in if_delmulti_locked()
599 rt_newmaddrmsg(RTM_DELMADDR, ifma); in if_delmulti_locked()
601 ifma->ifma_ifp = NULL; in if_delmulti_locked()
605 if (--ifma->ifma_refcount > 0) in if_delmulti_locked()
613 ll_ifma = ifma->ifma_llifma; in if_delmulti_locked()
615 KASSERT(ifma->ifma_lladdr != NULL, in if_delmulti_locked()
630 TAILQ_REMOVE(&ifp->if_multiaddrs, ifma, ifma_link); in if_delmulti_locked()
632 if_freemulti(ifma); in if_delmulti_locked()
649 struct ifmultiaddr *ifma; in if_delallmulti() local
653 TAILQ_FOREACH_SAFE(ifma, &ifp->if_multiaddrs, ifma_link, next) in if_delallmulti()
654 if_delmulti_locked(ifp, ifma, 0); in if_delallmulti()
660 if_delete_multiaddr(struct ifnet *ifp, struct ifmultiaddr *ifma) in if_delete_multiaddr() argument
662 TAILQ_REMOVE(&ifp->if_multiaddrs, ifma, ifma_link); in if_delete_multiaddr()
663 free(ifma); in if_delete_multiaddr()
670 struct ifmultiaddr *ifma; in if_delmulti() local
690 ifma = if_findmulti(ifp, sa); in if_delmulti()
691 if (ifma != NULL) in if_delmulti()
692 lastref = if_delmulti_locked(ifp, ifma, 0); in if_delmulti()
695 if (ifma == NULL) in if_delmulti()