inm                56 netinet/igmp.c rti_fill(inm)
inm                57 netinet/igmp.c 	struct in_multi *inm;
inm                62 netinet/igmp.c 		if (rti->rti_ifp == inm->inm_ia->ia_ifp) {
inm                63 netinet/igmp.c 			inm->inm_rti = rti;
inm                75 netinet/igmp.c 	rti->rti_ifp = inm->inm_ia->ia_ifp;
inm                79 netinet/igmp.c 	inm->inm_rti = rti;
inm               130 netinet/igmp.c 	struct in_multi *inm;
inm               204 netinet/igmp.c 			IN_FIRST_MULTI(step, inm);
inm               205 netinet/igmp.c 			while (inm != NULL) {
inm               206 netinet/igmp.c 				if (inm->inm_ia->ia_ifp == ifp &&
inm               207 netinet/igmp.c 				    inm->inm_timer == 0 &&
inm               208 netinet/igmp.c 				    !IN_LOCAL_GROUP(inm->inm_addr.s_addr)) {
inm               209 netinet/igmp.c 					inm->inm_state = IGMP_DELAYING_MEMBER;
inm               210 netinet/igmp.c 					inm->inm_timer = IGMP_RANDOM_DELAY(
inm               214 netinet/igmp.c 				IN_NEXT_MULTI(step, inm);
inm               235 netinet/igmp.c 			IN_FIRST_MULTI(step, inm);
inm               236 netinet/igmp.c 			while (inm != NULL) {
inm               237 netinet/igmp.c 				if (inm->inm_ia->ia_ifp == ifp &&
inm               238 netinet/igmp.c 				    !IN_LOCAL_GROUP(inm->inm_addr.s_addr) &&
inm               240 netinet/igmp.c 				     ip->ip_dst.s_addr == inm->inm_addr.s_addr)) {
inm               241 netinet/igmp.c 					switch (inm->inm_state) {
inm               243 netinet/igmp.c 						if (inm->inm_timer <= timer)
inm               249 netinet/igmp.c 						inm->inm_state =
inm               251 netinet/igmp.c 						inm->inm_timer =
inm               256 netinet/igmp.c 						inm->inm_state =
inm               261 netinet/igmp.c 				IN_NEXT_MULTI(step, inm);
inm               299 netinet/igmp.c 		IN_LOOKUP_MULTI(igmp->igmp_group, ifp, inm);
inm               300 netinet/igmp.c 		if (inm != NULL) {
inm               301 netinet/igmp.c 			inm->inm_timer = 0;
inm               304 netinet/igmp.c 			switch (inm->inm_state) {
inm               309 netinet/igmp.c 				inm->inm_state = IGMP_SLEEPING_MEMBER;
inm               312 netinet/igmp.c 				if (inm->inm_rti->rti_type == IGMP_v1_ROUTER)
inm               313 netinet/igmp.c 					inm->inm_state = IGMP_LAZY_MEMBER;
inm               315 netinet/igmp.c 					inm->inm_state = IGMP_SLEEPING_MEMBER;
inm               367 netinet/igmp.c 		IN_LOOKUP_MULTI(igmp->igmp_group, ifp, inm);
inm               368 netinet/igmp.c 		if (inm != NULL) {
inm               369 netinet/igmp.c 			inm->inm_timer = 0;
inm               372 netinet/igmp.c 			switch (inm->inm_state) {
inm               376 netinet/igmp.c 				inm->inm_state = IGMP_LAZY_MEMBER;
inm               396 netinet/igmp.c igmp_joingroup(inm)
inm               397 netinet/igmp.c 	struct in_multi *inm;
inm               401 netinet/igmp.c 	inm->inm_state = IGMP_IDLE_MEMBER;
inm               403 netinet/igmp.c 	if (!IN_LOCAL_GROUP(inm->inm_addr.s_addr) &&
inm               404 netinet/igmp.c 	    (inm->inm_ia->ia_ifp->if_flags & IFF_LOOPBACK) == 0) {
inm               405 netinet/igmp.c 		if ((i = rti_fill(inm)) == -1) {
inm               409 netinet/igmp.c 		igmp_sendpkt(inm, i, 0);
inm               410 netinet/igmp.c 		inm->inm_state = IGMP_DELAYING_MEMBER;
inm               411 netinet/igmp.c 		inm->inm_timer = IGMP_RANDOM_DELAY(
inm               415 netinet/igmp.c 		inm->inm_timer = 0;
inm               420 netinet/igmp.c igmp_leavegroup(inm)
inm               421 netinet/igmp.c 	struct in_multi *inm;
inm               424 netinet/igmp.c 	switch (inm->inm_state) {
inm               427 netinet/igmp.c 		if (!IN_LOCAL_GROUP(inm->inm_addr.s_addr) &&
inm               428 netinet/igmp.c 		    (inm->inm_ia->ia_ifp->if_flags & IFF_LOOPBACK) == 0)
inm               429 netinet/igmp.c 			if (inm->inm_rti->rti_type != IGMP_v1_ROUTER)
inm               430 netinet/igmp.c 				igmp_sendpkt(inm, IGMP_HOST_LEAVE_MESSAGE,
inm               443 netinet/igmp.c 	struct in_multi *inm;
inm               456 netinet/igmp.c 	IN_FIRST_MULTI(step, inm);
inm               457 netinet/igmp.c 	while (inm != NULL) {
inm               458 netinet/igmp.c 		if (inm->inm_timer == 0) {
inm               460 netinet/igmp.c 		} else if (--inm->inm_timer == 0) {
inm               461 netinet/igmp.c 			if (inm->inm_state == IGMP_DELAYING_MEMBER) {
inm               462 netinet/igmp.c 				if (inm->inm_rti->rti_type == IGMP_v1_ROUTER)
inm               463 netinet/igmp.c 					igmp_sendpkt(inm,
inm               466 netinet/igmp.c 					igmp_sendpkt(inm,
inm               468 netinet/igmp.c 				inm->inm_state = IGMP_IDLE_MEMBER;
inm               473 netinet/igmp.c 		IN_NEXT_MULTI(step, inm);
inm               495 netinet/igmp.c igmp_sendpkt(inm, type, addr)
inm               496 netinet/igmp.c 	struct in_multi *inm;
inm               528 netinet/igmp.c 		ip->ip_dst = inm->inm_addr;
inm               536 netinet/igmp.c 	igmp->igmp_group = inm->inm_addr;
inm               542 netinet/igmp.c 	imo.imo_multicast_ifp = inm->inm_ia->ia_ifp;
inm               946 netinet/in.c   	struct in_multi *inm;
inm               954 netinet/in.c   	IN_LOOKUP_MULTI(*ap, ifp, inm);
inm               955 netinet/in.c   	if (inm != NULL) {
inm               959 netinet/in.c   		++inm->inm_refcount;
inm               965 netinet/in.c   		inm = (struct in_multi *)malloc(sizeof(*inm),
inm               967 netinet/in.c   		if (inm == NULL) {
inm               971 netinet/in.c   		inm->inm_addr = *ap;
inm               972 netinet/in.c   		inm->inm_refcount = 1;
inm               975 netinet/in.c   			free(inm, M_IPMADDR);
inm               979 netinet/in.c   		inm->inm_ia = ia;
inm               981 netinet/in.c   		LIST_INSERT_HEAD(&ia->ia_multiaddrs, inm, inm_list);
inm               991 netinet/in.c   			LIST_REMOVE(inm, inm_list);
inm               992 netinet/in.c   			IFAFREE(&inm->inm_ia->ia_ifa);
inm               993 netinet/in.c   			free(inm, M_IPMADDR);
inm              1000 netinet/in.c   		igmp_joingroup(inm);
inm              1003 netinet/in.c   	return (inm);
inm              1010 netinet/in.c   in_delmulti(inm)
inm              1011 netinet/in.c   	struct in_multi *inm;
inm              1017 netinet/in.c   	if (--inm->inm_refcount == 0) {
inm              1022 netinet/in.c   		igmp_leavegroup(inm);
inm              1026 netinet/in.c   		LIST_REMOVE(inm, inm_list);
inm              1027 netinet/in.c   		ifp = inm->inm_ia->ia_ifp;
inm              1028 netinet/in.c   		IFAFREE(&inm->inm_ia->ia_ifa);
inm              1036 netinet/in.c   			satosin(&ifr.ifr_addr)->sin_addr = inm->inm_addr;
inm              1039 netinet/in.c   		free(inm, M_IPMADDR);
inm               160 netinet/in_var.h #define IN_LOOKUP_MULTI(addr, ifp, inm) \
inm               169 netinet/in_var.h 		(inm) = NULL; \
inm               171 netinet/in_var.h 		for ((inm) = LIST_FIRST(&ia->ia_multiaddrs); \
inm               172 netinet/in_var.h 		     (inm) != LIST_END(&ia->ia_multiaddrs) && \
inm               173 netinet/in_var.h 		      (inm)->inm_addr.s_addr != (addr).s_addr; \
inm               174 netinet/in_var.h 		     (inm) = LIST_NEXT(inm, inm_list)) \
inm               185 netinet/in_var.h #define IN_NEXT_MULTI(step, inm) \
inm               189 netinet/in_var.h 	if (((inm) = (step).i_inm) != NULL) \
inm               190 netinet/in_var.h 		(step).i_inm = LIST_NEXT((inm), inm_list); \
inm               193 netinet/in_var.h 			(inm) = LIST_FIRST(&(step).i_ia->ia_multiaddrs); \
inm               195 netinet/in_var.h 			if ((inm) != NULL) { \
inm               196 netinet/in_var.h 				(step).i_inm = LIST_NEXT((inm), inm_list); \
inm               202 netinet/in_var.h #define IN_FIRST_MULTI(step, inm) \
inm               208 netinet/in_var.h 	IN_NEXT_MULTI((step), (inm)); \
inm              1860 netinet/ip_carp.c 		struct in_multi *inm;
inm              1867 netinet/ip_carp.c 		IN_LOOKUP_MULTI(mc_addr, &sc->sc_if, inm);
inm              1868 netinet/ip_carp.c 		if (inm == NULL) {
inm               422 netinet/ip_input.c 		struct in_multi *inm;
inm               466 netinet/ip_input.c 		IN_LOOKUP_MULTI(ip->ip_dst, m->m_pkthdr.rcvif, inm);
inm               467 netinet/ip_input.c 		if (inm == NULL) {
inm               417 netinet/ip_output.c 		struct in_multi *inm;
inm               475 netinet/ip_output.c 		IN_LOOKUP_MULTI(ip->ip_dst, ifp, inm);
inm               476 netinet/ip_output.c 		if (inm != NULL &&