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 *);
859 const struct igmp *igmp) in igmp_input_v1_query() argument
874 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) { in igmp_input_v1_query()
948 const struct igmp *igmp) in igmp_input_v2_query() argument
963 if (in_nullhost(igmp->igmp_group)) { in igmp_input_v2_query()
999 timer = igmp->igmp_code / IGMP_TIMER_SCALE; in igmp_input_v2_query()
1030 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_query()
1034 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_query()
1402 /*const*/ struct igmp *igmp) in igmp_input_v1_report() argument
1415 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr) || in igmp_input_v1_report()
1416 !in_hosteq(igmp->igmp_group, ip->ip_dst))) { in igmp_input_v1_report()
1439 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1449 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v1_report()
1488 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1497 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1527 /*const*/ struct igmp *igmp) in igmp_input_v2_report() argument
1559 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) || in igmp_input_v2_report()
1560 !in_hosteq(igmp->igmp_group, ip->ip_dst)) { in igmp_input_v2_report()
1587 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1598 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_report()
1636 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1662 struct igmp *igmp; in igmp_input() local
1706 M_STRUCT_GET0(igmp, struct igmp *, m, off, minlen); in igmp_input()
1707 if (igmp == NULL) { in igmp_input()
1733 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) { in igmp_input()
1739 switch (igmp->igmp_type) { in igmp_input()
1742 if (igmp->igmp_code == 0) { in igmp_input()
1764 if (igmp_input_v1_query(ifp, ip, igmp) != 0) { in igmp_input()
1775 if (igmp_input_v2_query(ifp, ip, igmp) != 0) { in igmp_input()
1788 igmpv3 = (struct igmpv3 *)igmp; in igmp_input()
1840 if (igmp_input_v1_report(ifp, m, ip, igmp) != 0) { in igmp_input()
1853 if (igmp_input_v2_report(ifp, m, ip, igmp) != 0) { in igmp_input()
2650 struct igmp *igmp; in igmp_v1v2_queue_report() local
2664 MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp)); in igmp_v1v2_queue_report()
2666 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
2669 m->m_len = sizeof(struct igmp); in igmp_v1v2_queue_report()
2671 igmp = mtod(m, struct igmp *); in igmp_v1v2_queue_report()
2672 igmp->igmp_type = (u_char)type; in igmp_v1v2_queue_report()
2673 igmp->igmp_code = 0; in igmp_v1v2_queue_report()
2674 igmp->igmp_group = inm->inm_addr; in igmp_v1v2_queue_report()
2675 igmp->igmp_cksum = 0; in igmp_v1v2_queue_report()
2676 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp)); in igmp_v1v2_queue_report()
2683 ip->ip_len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
4085 struct igmp_report *igmp; in igmp_v3_encap_report() local
4115 igmp = mtod(m, struct igmp_report *); in igmp_v3_encap_report()
4116 igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT; in igmp_v3_encap_report()
4117 igmp->ir_rsv1 = 0; in igmp_v3_encap_report()
4118 igmp->ir_rsv2 = 0; in igmp_v3_encap_report()
4119 igmp->ir_numgrps = htons(m->m_pkthdr.vt_nrecs); in igmp_v3_encap_report()
4120 igmp->ir_cksum = 0; in igmp_v3_encap_report()
4121 igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen); in igmp_v3_encap_report()