Lines Matching defs:igmp

81 #include <netinet/igmp.h>
106 const struct igmp *);
108 const struct igmp *);
114 /*const*/ struct igmp *);
116 /*const*/ struct igmp *);
150 .nh_name = "igmp",
198 static MALLOC_DEFINE(M_IGMP, "igmp", "igmp state");
566 * If the net.inet.igmp.sendlocal sysctl is 0, then IGMP reports are
750 const struct igmp *igmp)
765 if (!in_allhosts(ip->ip_dst) || !in_nullhost(igmp->igmp_group)) {
834 const struct igmp *igmp)
850 if (in_nullhost(igmp->igmp_group)) {
884 timer = igmp->igmp_code * IGMP_FASTHZ / IGMP_TIMER_SCALE;
906 inm = inm_lookup(ifp, igmp->igmp_group);
910 ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
1251 /*const*/ struct igmp *igmp)
1261 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
1262 !in_hosteq(igmp->igmp_group, ip->ip_dst)) {
1281 ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
1289 inm = inm_lookup(ifp, igmp->igmp_group);
1324 ntohl(igmp->igmp_group.s_addr), ifp,
1332 ntohl(igmp->igmp_group.s_addr), ifp,
1359 /*const*/ struct igmp *igmp)
1380 if (!IN_MULTICAST(ntohl(igmp->igmp_group.s_addr)) ||
1381 !in_hosteq(igmp->igmp_group, ip->ip_dst)) {
1399 ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
1408 inm = inm_lookup(ifp, igmp->igmp_group);
1440 ntohl(igmp->igmp_group.s_addr), ifp, ifp->if_xname);
1462 struct igmp *igmp;
1512 igmp = mtod(m, struct igmp *);
1526 if (igmp->igmp_type != IGMP_DVMRP && ip->ip_ttl != 1) {
1532 switch (igmp->igmp_type) {
1535 if (igmp->igmp_code == 0)
1552 if (igmp_input_v1_query(ifp, ip, igmp) != 0) {
1562 if (igmp_input_v2_query(ifp, ip, igmp) != 0) {
1574 igmpv3 = (struct igmpv3 *)igmp;
1611 if (igmp_input_v1_report(ifp, ip, igmp) != 0) {
1622 if (igmp_input_v2_report(ifp, ip, igmp) != 0) {
2239 struct igmp *igmp;
2251 M_ALIGN(m, sizeof(struct ip) + sizeof(struct igmp));
2253 m->m_pkthdr.len = sizeof(struct ip) + sizeof(struct igmp);
2256 m->m_len = sizeof(struct igmp);
2258 igmp = mtod(m, struct igmp *);
2259 igmp->igmp_type = type;
2260 igmp->igmp_code = 0;
2261 igmp->igmp_group = inm->inm_addr;
2262 igmp->igmp_cksum = 0;
2263 igmp->igmp_cksum = in_cksum(m, sizeof(struct igmp));
2270 ip->ip_len = htons(sizeof(struct ip) + sizeof(struct igmp));
3542 struct igmp_report *igmp;
3566 igmp = mtod(m, struct igmp_report *);
3567 igmp->ir_type = IGMP_v3_HOST_MEMBERSHIP_REPORT;
3568 igmp->ir_rsv1 = 0;
3569 igmp->ir_rsv2 = 0;
3570 igmp->ir_numgrps = htons(m->m_pkthdr.vt_nrecs);
3571 igmp->ir_cksum = 0;
3572 igmp->ir_cksum = in_cksum(m, sizeof(struct igmp_report) + igmpreclen);
3715 "igmp",
3719 DECLARE_MODULE(igmp, igmp_mod, SI_SUB_PROTO_MC, SI_ORDER_MIDDLE);