Lines Matching refs:igmp
135 const struct igmp *);
137 const struct igmp *);
143 /*const*/ struct ip *, /*const*/ struct igmp *);
145 /*const*/ struct ip *, /*const*/ struct igmp *);
853 const struct igmp *igmp) in igmp_input_v1_query() argument
868 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) { in igmp_input_v1_query()
943 const struct igmp *igmp) in igmp_input_v2_query() argument
958 if (in_nullhost(igmp->igmp_group)) { in igmp_input_v2_query()
993 timer = igmp->igmp_code / IGMP_TIMER_SCALE; in igmp_input_v2_query()
1024 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_query()
1028 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_query()
1398 /*const*/ struct igmp *igmp) in igmp_input_v1_report() argument
1411 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr) || in igmp_input_v1_report()
1412 !in_hosteq(igmp->igmp_group, ip->ip_dst))) { in igmp_input_v1_report()
1435 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1445 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v1_report()
1484 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1493 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v1_report()
1523 /*const*/ struct igmp *igmp) in igmp_input_v2_report() argument
1555 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) || in igmp_input_v2_report()
1556 !in_hosteq(igmp->igmp_group, ip->ip_dst)) { in igmp_input_v2_report()
1583 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1596 IN_LOOKUP_MULTI(&igmp->igmp_group, ifp, inm); in igmp_input_v2_report()
1634 IGMP_INET_PRINTF(igmp->igmp_group, in igmp_input_v2_report()
1660 struct igmp *igmp; in igmp_input() local
1704 M_STRUCT_GET0(igmp, struct igmp *, m, off, minlen); in igmp_input()
1705 if (igmp == NULL) { in igmp_input()
1731 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) { in igmp_input()
1737 switch (igmp->igmp_type) { in igmp_input()
1740 if (igmp->igmp_code == 0) { in igmp_input()
1762 if (igmp_input_v1_query(ifp, ip, igmp) != 0) { in igmp_input()
1773 if (igmp_input_v2_query(ifp, ip, igmp) != 0) { in igmp_input()
1786 igmpv3 = (struct igmpv3 *)igmp; in igmp_input()
1838 if (igmp_input_v1_report(ifp, m, ip, igmp) != 0) { in igmp_input()
1851 if (igmp_input_v2_report(ifp, m, ip, igmp) != 0) { in igmp_input()
2676 struct igmp *igmp; in igmp_v1v2_queue_report() local
2690 MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp)); in igmp_v1v2_queue_report()
2692 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp); in igmp_v1v2_queue_report()
2695 m->m_len = sizeof(struct igmp); in igmp_v1v2_queue_report()
2697 igmp = mtod(m, struct igmp *); in igmp_v1v2_queue_report()
2698 igmp->igmp_type = (u_char)type; in igmp_v1v2_queue_report()
2699 igmp->igmp_code = 0; in igmp_v1v2_queue_report()
2700 igmp->igmp_group = inm->inm_addr; in igmp_v1v2_queue_report()
2701 igmp->igmp_cksum = 0; in igmp_v1v2_queue_report()
2702 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp)); in igmp_v1v2_queue_report()
2709 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()