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 &&