Lines Matching refs:igmp

136     const struct igmp *);
138 const struct igmp *);
144 /*const*/ struct ip *, /*const*/ struct igmp *);
146 /*const*/ struct ip *, /*const*/ struct igmp *);
854 const struct igmp *igmp) in igmp_input_v1_query() argument
869 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) { in igmp_input_v1_query()
944 const struct igmp *igmp) in igmp_input_v2_query() argument
959 if (in_nullhost(igmp->igmp_group)) { in igmp_input_v2_query()
994 timer = igmp->igmp_code / IGMP_TIMER_SCALE; in igmp_input_v2_query()
1025 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_query()
1029 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_query()
1399 /*const*/ struct igmp *igmp) in igmp_input_v1_report() argument
1412 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr) || in igmp_input_v1_report()
1413 !in_hosteq(igmp->igmp_group, ip->ip_dst))) { in igmp_input_v1_report()
1436 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1446 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v1_report()
1485 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1494 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1524 /*const*/ struct igmp *igmp) in igmp_input_v2_report() argument
1556 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) || in igmp_input_v2_report()
1557 !in_hosteq(igmp->igmp_group, ip->ip_dst)) { in igmp_input_v2_report()
1584 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1597 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_report()
1635 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1661 struct igmp *igmp; in igmp_input() local
1705 M_STRUCT_GET0(igmp, struct igmp *, m, off, minlen); in igmp_input()
1706 if (igmp == NULL) { in igmp_input()
1732 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) { in igmp_input()
1738 switch (igmp->igmp_type) { in igmp_input()
1741 if (igmp->igmp_code == 0) { in igmp_input()
1763 if (igmp_input_v1_query(ifp, ip, igmp) != 0) { in igmp_input()
1774 if (igmp_input_v2_query(ifp, ip, igmp) != 0) { in igmp_input()
1787 igmpv3 = (struct igmpv3 *)igmp; in igmp_input()
1839 if (igmp_input_v1_report(ifp, m, ip, igmp) != 0) { in igmp_input()
1852 if (igmp_input_v2_report(ifp, m, ip, igmp) != 0) { in igmp_input()
2677 struct igmp *igmp; in igmp_v1v2_queue_report() local
2691 MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp)); in igmp_v1v2_queue_report()
2693 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
2696 m->m_len = sizeof(struct igmp); in igmp_v1v2_queue_report()
2698 igmp = mtod(m, struct igmp *); in igmp_v1v2_queue_report()
2699 igmp->igmp_type = (u_char)type; in igmp_v1v2_queue_report()
2700 igmp->igmp_code = 0; in igmp_v1v2_queue_report()
2701 igmp->igmp_group = inm->inm_addr; in igmp_v1v2_queue_report()
2702 igmp->igmp_cksum = 0; in igmp_v1v2_queue_report()
2703 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp)); in igmp_v1v2_queue_report()
2710 ip->ip_len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
4117 struct igmp_report *igmp; in igmp_v3_encap_report() local
4148 igmp = mtod(m, struct igmp_report *); in igmp_v3_encap_report()
4149 igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT; in igmp_v3_encap_report()
4150 igmp->ir_rsv1 = 0; in igmp_v3_encap_report()
4151 igmp->ir_rsv2 = 0; in igmp_v3_encap_report()
4152 igmp->ir_numgrps = htons(m->m_pkthdr.vt_nrecs); in igmp_v3_encap_report()
4153 igmp->ir_cksum = 0; in igmp_v3_encap_report()
4154 igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen); in igmp_v3_encap_report()