Lines Matching refs:igmp

133     const struct igmp *);
135 const struct igmp *);
141 /*const*/ struct ip *, /*const*/ struct igmp *);
143 /*const*/ struct ip *, /*const*/ struct igmp *);
856 const struct igmp *igmp) in igmp_input_v1_query() argument
871 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) { in igmp_input_v1_query()
945 const struct igmp *igmp) in igmp_input_v2_query() argument
960 if (in_nullhost(igmp->igmp_group)) { in igmp_input_v2_query()
996 timer = igmp->igmp_code / IGMP_TIMER_SCALE; in igmp_input_v2_query()
1027 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_query()
1031 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()
1595 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_report()
1633 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1659 struct igmp *igmp; in igmp_input() local
1703 M_STRUCT_GET0(igmp, struct igmp *, m, off, minlen); in igmp_input()
1704 if (igmp == NULL) { in igmp_input()
1730 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) { in igmp_input()
1736 switch (igmp->igmp_type) { in igmp_input()
1739 if (igmp->igmp_code == 0) { in igmp_input()
1761 if (igmp_input_v1_query(ifp, ip, igmp) != 0) { in igmp_input()
1772 if (igmp_input_v2_query(ifp, ip, igmp) != 0) { in igmp_input()
1785 igmpv3 = (struct igmpv3 *)igmp; in igmp_input()
1837 if (igmp_input_v1_report(ifp, m, ip, igmp) != 0) { in igmp_input()
1850 if (igmp_input_v2_report(ifp, m, ip, igmp) != 0) { in igmp_input()
2606 struct igmp *igmp; in igmp_v1v2_queue_report() local
2620 MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp)); in igmp_v1v2_queue_report()
2622 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
2625 m->m_len = sizeof(struct igmp); in igmp_v1v2_queue_report()
2627 igmp = mtod(m, struct igmp *); in igmp_v1v2_queue_report()
2628 igmp->igmp_type = (u_char)type; in igmp_v1v2_queue_report()
2629 igmp->igmp_code = 0; in igmp_v1v2_queue_report()
2630 igmp->igmp_group = inm->inm_addr; in igmp_v1v2_queue_report()
2631 igmp->igmp_cksum = 0; in igmp_v1v2_queue_report()
2632 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp)); in igmp_v1v2_queue_report()
2639 ip->ip_len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
4028 struct igmp_report *igmp; in igmp_v3_encap_report() local
4058 igmp = mtod(m, struct igmp_report *); in igmp_v3_encap_report()
4059 igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT; in igmp_v3_encap_report()
4060 igmp->ir_rsv1 = 0; in igmp_v3_encap_report()
4061 igmp->ir_rsv2 = 0; in igmp_v3_encap_report()
4062 igmp->ir_numgrps = htons(m->m_pkthdr.vt_nrecs); in igmp_v3_encap_report()
4063 igmp->ir_cksum = 0; in igmp_v3_encap_report()
4064 igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen); in igmp_v3_encap_report()