Lines Matching refs:mld

265 SYSCTL_NODE(_net_inet6, OID_AUTO, mld, CTLFLAG_RW | CTLFLAG_LOCKED, 0,
852 /*const*/ struct mld_hdr *mld) in mld_v1_input_query() argument
866 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_query()
886 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_query()
905 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_query()
918 timer = ntohs(mld->mld_maxdelay) / MLD_TIMER_SCALE; in mld_v1_input_query()
950 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_query()
957 ip6_sprintf(&mld->mld_addr), in mld_v1_input_query()
964 in6_clearscope(&mld->mld_addr); in mld_v1_input_query()
1041 struct mldv2_query *mld; in mld_v2_input_query() local
1073 mld = (struct mldv2_query *)(mtod(m, uint8_t *) + off); in mld_v2_input_query()
1075 maxdelay = ntohs(mld->mld_maxdelay); /* in 1/10ths of a second */ in mld_v2_input_query()
1085 qrv = MLD_QRV(mld->mld_misc); in mld_v2_input_query()
1092 qqi = mld->mld_qqi; in mld_v2_input_query()
1094 qqi = MLD_QQIC_MANT(mld->mld_qqi) << in mld_v2_input_query()
1095 (MLD_QQIC_EXP(mld->mld_qqi) + 3); in mld_v2_input_query()
1098 nsrc = ntohs(mld->mld_numsrc); in mld_v2_input_query()
1113 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v2_input_query()
1129 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v2_input_query()
1183 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v2_input_query()
1219 in6_clearscope(&mld->mld_addr); in mld_v2_input_query()
1241 struct mldv2_query *mld; in mld_v2_process_group_query() local
1248 mld = (struct mldv2_query *)(mtod(m0, uint8_t *) + off); in mld_v2_process_group_query()
1265 nsrc = ntohs(mld->mld_numsrc); in mld_v2_process_group_query()
1353 const struct ip6_hdr *ip6, /*const*/ struct mld_hdr *mld) in mld_v1_input_report() argument
1361 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1390 if (!IN6_IS_ADDR_MULTICAST(&mld->mld_addr) || in mld_v1_input_report()
1391 !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &dst)) { in mld_v1_input_report()
1423 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1430 if (!IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_report()
1431 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_report()
1441 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_report()
1476 ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1493 in6_clearscope(&mld->mld_addr); in mld_v1_input_report()
1514 struct mld_hdr *mld = NULL; in mld_input() local
1523 mld = (struct mld_hdr *)(mtod(m, uint8_t *) + off); in mld_input()
1524 if (mld->mld_type == MLD_LISTENER_QUERY && in mld_input()
1532 IP6_EXTHDR_GET(mld, struct mld_hdr *, m, off, mldlen); in mld_input()
1533 if (mld == NULL) { in mld_input()
1543 switch (mld->mld_type) { in mld_input()
1547 if (mld_v1_input_query(ifp, ip6, mld) != 0) { in mld_input()
1559 if (mld_v1_input_report(ifp, m, ip6, mld) != 0) { in mld_input()
2320 struct mld_hdr *mld; in mld_v1_transmit_report() local
2375 mld = mtod(md, struct mld_hdr *); in mld_v1_transmit_report()
2376 mld->mld_type = type; in mld_v1_transmit_report()
2377 mld->mld_code = 0; in mld_v1_transmit_report()
2378 mld->mld_cksum = 0; in mld_v1_transmit_report()
2379 mld->mld_maxdelay = 0; in mld_v1_transmit_report()
2380 mld->mld_reserved = 0; in mld_v1_transmit_report()
2381 mld->mld_addr = in6m->in6m_addr; in mld_v1_transmit_report()
2382 in6_clearscope(&mld->mld_addr); in mld_v1_transmit_report()
2383 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v1_transmit_report()
3678 struct mld_hdr *mld; in mld_dispatch_packet() local
3737 mld = (struct mld_hdr *)(mtod(md, uint8_t *) + off); in mld_dispatch_packet()
3738 type = mld->mld_type; in mld_dispatch_packet()
3791 struct mldv2_report *mld; in mld_v2_encap_report() local
3843 mld = (struct mldv2_report *)(ip6 + 1); in mld_v2_encap_report()
3844 mld->mld_type = MLDV2_LISTENER_REPORT; in mld_v2_encap_report()
3845 mld->mld_code = 0; in mld_v2_encap_report()
3846 mld->mld_cksum = 0; in mld_v2_encap_report()
3847 mld->mld_v2_reserved = 0; in mld_v2_encap_report()
3848 mld->mld_v2_numrecs = htons(m->m_pkthdr.vt_nrecs); in mld_v2_encap_report()
3853 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v2_encap_report()