ip6_mrouter_done(): use if_allmulti(0) for disabling the multicast promiscuous mode

Obtained from: KAME
MFC after: 2 days
This commit is contained in:
SUZUKI Shinsuke 2006-04-10 14:33:22 +00:00
parent d5e5634075
commit 8447156ce0

View File

@ -484,8 +484,6 @@ ip6_mrouter_done()
{
mifi_t mifi;
int i;
struct ifnet *ifp;
struct in6_ifreq ifr;
struct mf6c *rt;
struct rtdetq *rte;
int s;
@ -511,11 +509,7 @@ ip6_mrouter_done()
for (mifi = 0; mifi < nummifs; mifi++) {
if (mif6table[mifi].m6_ifp &&
!(mif6table[mifi].m6_flags & MIFF_REGISTER)) {
ifr.ifr_addr.sin6_family = AF_INET6;
ifr.ifr_addr.sin6_addr = in6addr_any;
ifp = mif6table[mifi].m6_ifp;
(*ifp->if_ioctl)(ifp, SIOCDELMULTI,
(caddr_t)&ifr);
if_allmulti(mif6table[mifi].m6_ifp, 0);
}
}
}