Lines Matching refs:inm
799 struct in_multi *inm = NULL;
807 IN_LOOKUP_MULTI(addr, ifp, inm);
810 if (inm)
811 in_delmulti(&inm);
1241 struct in_multi *inm;
1246 IN_LOOKUP_MULTI(addr, ifp, inm);
1248 if (inm == 0)
1309 struct in_multi *inm = ifma_protospec;
1315 igmp_leavegroup(inm);
1317 LIST_REMOVE(inm, inm_link);
1319 FREE(inm, M_IPMADDR);
1330 struct in_multi *inm;
1357 inm = (struct in_multi *) _MALLOC(sizeof(*inm), M_IPMADDR, M_WAITOK);
1358 if (inm == NULL) {
1362 bzero(inm, sizeof *inm);
1363 inm->inm_addr = *ap;
1364 inm->inm_ifp = ifp;
1365 inm->inm_ifma = ifma;
1368 ifma->ifma_protospec = inm;
1370 LIST_INSERT_HEAD(&in_multihead, inm, inm_link);
1374 if (ifma->ifma_protospec != inm) {
1375 _FREE(inm, M_IPMADDR);
1382 error = igmp_joingroup(inm);
1387 * We can't free the inm because someone else may already be
1397 return (inm);
1405 struct in_multi **inm)
1411 if (inm2 == *inm)
1414 if (inm2 != *inm) {
1416 printf("in_delmulti - ignoring invalid inm (%p)\n", *inm);
1422 if ((*inm)->inm_ifma) {
1423 if_delmultiaddr((*inm)->inm_ifma, 0);
1424 ifma_release((*inm)->inm_ifma);
1426 *inm = NULL;