Lines Matching refs:mld

264 SYSCTL_NODE(_net_inet6, OID_AUTO, mld, CTLFLAG_RW | CTLFLAG_LOCKED, 0,
853 /*const*/ struct mld_hdr *mld) in mld_v1_input_query() argument
867 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_query()
887 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_query()
906 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_query()
919 timer = ntohs(mld->mld_maxdelay) / MLD_TIMER_SCALE; in mld_v1_input_query()
951 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_query()
958 ip6_sprintf(&mld->mld_addr), in mld_v1_input_query()
965 in6_clearscope(&mld->mld_addr); in mld_v1_input_query()
1042 struct mldv2_query *mld; in mld_v2_input_query() local
1074 mld = (struct mldv2_query *)(mtod(m, uint8_t *) + off); in mld_v2_input_query()
1076 maxdelay = ntohs(mld->mld_maxdelay); /* in 1/10ths of a second */ in mld_v2_input_query()
1086 qrv = MLD_QRV(mld->mld_misc); in mld_v2_input_query()
1093 qqi = mld->mld_qqi; in mld_v2_input_query()
1095 qqi = MLD_QQIC_MANT(mld->mld_qqi) << in mld_v2_input_query()
1096 (MLD_QQIC_EXP(mld->mld_qqi) + 3); in mld_v2_input_query()
1099 nsrc = ntohs(mld->mld_numsrc); in mld_v2_input_query()
1114 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v2_input_query()
1130 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v2_input_query()
1184 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v2_input_query()
1220 in6_clearscope(&mld->mld_addr); in mld_v2_input_query()
1242 struct mldv2_query *mld; in mld_v2_process_group_query() local
1249 mld = (struct mldv2_query *)(mtod(m0, uint8_t *) + off); in mld_v2_process_group_query()
1266 nsrc = ntohs(mld->mld_numsrc); in mld_v2_process_group_query()
1354 const struct ip6_hdr *ip6, /*const*/ struct mld_hdr *mld) in mld_v1_input_report() argument
1362 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1391 if (!IN6_IS_ADDR_MULTICAST(&mld->mld_addr) || in mld_v1_input_report()
1392 !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &dst)) { in mld_v1_input_report()
1424 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1431 if (!IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_report()
1432 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_report()
1442 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_report()
1477 ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1494 in6_clearscope(&mld->mld_addr); in mld_v1_input_report()
1515 struct mld_hdr *mld = NULL; in mld_input() local
1524 mld = (struct mld_hdr *)(mtod(m, uint8_t *) + off); in mld_input()
1525 if (mld->mld_type == MLD_LISTENER_QUERY && in mld_input()
1533 IP6_EXTHDR_GET(mld, struct mld_hdr *, m, off, mldlen); in mld_input()
1534 if (mld == NULL) { in mld_input()
1544 switch (mld->mld_type) { in mld_input()
1548 if (mld_v1_input_query(ifp, ip6, mld) != 0) { in mld_input()
1560 if (mld_v1_input_report(ifp, m, ip6, mld) != 0) { in mld_input()
2301 struct mld_hdr *mld; in mld_v1_transmit_report() local
2356 mld = mtod(md, struct mld_hdr *); in mld_v1_transmit_report()
2357 mld->mld_type = type; in mld_v1_transmit_report()
2358 mld->mld_code = 0; in mld_v1_transmit_report()
2359 mld->mld_cksum = 0; in mld_v1_transmit_report()
2360 mld->mld_maxdelay = 0; in mld_v1_transmit_report()
2361 mld->mld_reserved = 0; in mld_v1_transmit_report()
2362 mld->mld_addr = in6m->in6m_addr; in mld_v1_transmit_report()
2363 in6_clearscope(&mld->mld_addr); in mld_v1_transmit_report()
2364 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v1_transmit_report()
3660 struct mld_hdr *mld; in mld_dispatch_packet() local
3719 mld = (struct mld_hdr *)(mtod(md, uint8_t *) + off); in mld_dispatch_packet()
3720 type = mld->mld_type; in mld_dispatch_packet()
3773 struct mldv2_report *mld; in mld_v2_encap_report() local
3825 mld = (struct mldv2_report *)(ip6 + 1); in mld_v2_encap_report()
3826 mld->mld_type = MLDV2_LISTENER_REPORT; in mld_v2_encap_report()
3827 mld->mld_code = 0; in mld_v2_encap_report()
3828 mld->mld_cksum = 0; in mld_v2_encap_report()
3829 mld->mld_v2_reserved = 0; in mld_v2_encap_report()
3830 mld->mld_v2_numrecs = htons(m->m_pkthdr.vt_nrecs); in mld_v2_encap_report()
3835 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v2_encap_report()