Lines Matching defs:igmp

34  *	@(#)igmp.c	8.1 (Berkeley) 7/19/93
75 #include <netinet/igmp.h>
96 const struct igmp *);
98 const struct igmp *);
104 /*const*/ struct igmp *);
106 /*const*/ struct igmp *);
139 .nh_name = "igmp",
188 static MALLOC_DEFINE(M_IGMP, "igmp", "igmp state");
498 * If the net.inet.igmp.sendlocal sysctl is 0, then IGMP reports are
711 const struct igmp *igmp)
724 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) {
796 const struct igmp *igmp)
810 if (in_nullhost(igmp->igmp_group)) {
844 timer = igmp->igmp_code * PR_FASTHZ / IGMP_TIMER_SCALE;
869 inm = inm_lookup(ifp, igmp->igmp_group);
872 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1213 /*const*/ struct igmp *igmp)
1223 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
1224 !in_hosteq(igmp->igmp_group, ip->ip_dst)) {
1245 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1253 inm = inm_lookup(ifp, igmp->igmp_group);
1288 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1295 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1321 /*const*/ struct igmp *igmp)
1345 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
1346 !in_hosteq(igmp->igmp_group, ip->ip_dst)) {
1368 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1377 inm = inm_lookup(ifp, igmp->igmp_group);
1409 inet_ntoa(igmp->igmp_group), ifp, ifp->if_xname);
1431 struct igmp *igmp;
1477 igmp = mtod(m, struct igmp *);
1491 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) {
1497 switch (igmp->igmp_type) {
1500 if (igmp->igmp_code == 0)
1517 if (igmp_input_v1_query(ifp, ip, igmp) != 0) {
1527 if (igmp_input_v2_query(ifp, ip, igmp) != 0) {
1540 igmpv3 = (struct igmpv3 *)igmp;
1576 if (igmp_input_v1_report(ifp, ip, igmp) != 0) {
1587 if (igmp_input_v2_report(ifp, ip, igmp) != 0) {
2198 struct igmp *igmp;
2210 MH_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp));
2212 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp);
2215 m->m_len = sizeof(struct igmp);
2217 igmp = mtod(m, struct igmp *);
2218 igmp->igmp_type = type;
2219 igmp->igmp_code = 0;
2220 igmp->igmp_group = inm->inm_addr;
2221 igmp->igmp_cksum = 0;
2222 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp));
2229 ip->ip_len = htons(sizeof(struct ip) + sizeof(struct igmp));
3488 struct igmp_report *igmp;
3512 igmp = mtod(m, struct igmp_report *);
3513 igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT;
3514 igmp->ir_rsv1 = 0;
3515 igmp->ir_rsv2 = 0;
3516 igmp->ir_numgrps = htons(m->m_pkthdr.PH_vt.vt_nrecs);
3517 igmp->ir_cksum = 0;
3518 igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen);
3646 "igmp",
3650 DECLARE_MODULE(igmp, igmp_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);