Lines Matching refs:mld
267 SYSCTL_NODE(_net_inet6, OID_AUTO, mld, CTLFLAG_RW | CTLFLAG_LOCKED, 0,
846 /*const*/ struct mld_hdr *mld) in mld_v1_input_query() argument
879 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_query()
898 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_query()
911 timer = ntohs(mld->mld_maxdelay) / MLD_TIMER_SCALE; in mld_v1_input_query()
943 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_query()
950 ip6_sprintf(&mld->mld_addr), in mld_v1_input_query()
957 in6_clearscope(&mld->mld_addr); in mld_v1_input_query()
1034 struct mldv2_query *mld; in mld_v2_input_query() local
1067 mld = (struct mldv2_query *)(mtod(m, uint8_t *) + off); in mld_v2_input_query()
1069 maxdelay = ntohs(mld->mld_maxdelay); /* in 1/10ths of a second */ in mld_v2_input_query()
1079 qrv = MLD_QRV(mld->mld_misc); in mld_v2_input_query()
1086 qqi = mld->mld_qqi; in mld_v2_input_query()
1088 qqi = MLD_QQIC_MANT(mld->mld_qqi) << in mld_v2_input_query()
1089 (MLD_QQIC_EXP(mld->mld_qqi) + 3); in mld_v2_input_query()
1092 nsrc = ntohs(mld->mld_numsrc); in mld_v2_input_query()
1107 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v2_input_query()
1123 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v2_input_query()
1177 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v2_input_query()
1213 in6_clearscope(&mld->mld_addr); in mld_v2_input_query()
1235 struct mldv2_query *mld; in mld_v2_process_group_query() local
1242 mld = (struct mldv2_query *)(mtod(m0, uint8_t *) + off); in mld_v2_process_group_query()
1259 nsrc = ntohs(mld->mld_numsrc); in mld_v2_process_group_query()
1347 const struct ip6_hdr *ip6, /*const*/ struct mld_hdr *mld) in mld_v1_input_report() argument
1383 if (!IN6_IS_ADDR_MULTICAST(&mld->mld_addr) || in mld_v1_input_report()
1384 !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &dst)) { in mld_v1_input_report()
1416 __func__, ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1423 if (!IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) { in mld_v1_input_report()
1424 (void)in6_setscope(&mld->mld_addr, ifp, NULL); in mld_v1_input_report()
1434 IN6_LOOKUP_MULTI(&mld->mld_addr, ifp, inm); in mld_v1_input_report()
1469 ip6_sprintf(&mld->mld_addr), in mld_v1_input_report()
1486 in6_clearscope(&mld->mld_addr); in mld_v1_input_report()
1507 struct mld_hdr *mld = NULL; in mld_input() local
1516 mld = (struct mld_hdr *)(mtod(m, uint8_t *) + off); in mld_input()
1517 if (mld->mld_type == MLD_LISTENER_QUERY && in mld_input()
1525 IP6_EXTHDR_GET(mld, struct mld_hdr *, m, off, mldlen); in mld_input()
1526 if (mld == NULL) { in mld_input()
1536 switch (mld->mld_type) { in mld_input()
1540 if (mld_v1_input_query(ifp, ip6, mld) != 0) { in mld_input()
1552 if (mld_v1_input_report(ifp, m, ip6, mld) != 0) { in mld_input()
2322 struct mld_hdr *mld; in mld_v1_transmit_report() local
2377 mld = mtod(md, struct mld_hdr *); in mld_v1_transmit_report()
2378 mld->mld_type = type; in mld_v1_transmit_report()
2379 mld->mld_code = 0; in mld_v1_transmit_report()
2380 mld->mld_cksum = 0; in mld_v1_transmit_report()
2381 mld->mld_maxdelay = 0; in mld_v1_transmit_report()
2382 mld->mld_reserved = 0; in mld_v1_transmit_report()
2383 mld->mld_addr = in6m->in6m_addr; in mld_v1_transmit_report()
2384 in6_clearscope(&mld->mld_addr); in mld_v1_transmit_report()
2385 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v1_transmit_report()
3790 struct mldv2_report *mld; in mld_v2_encap_report() local
3842 mld = (struct mldv2_report *)(ip6 + 1); in mld_v2_encap_report()
3843 mld->mld_type = MLDV2_LISTENER_REPORT; in mld_v2_encap_report()
3844 mld->mld_code = 0; in mld_v2_encap_report()
3845 mld->mld_cksum = 0; in mld_v2_encap_report()
3846 mld->mld_v2_reserved = 0; in mld_v2_encap_report()
3847 mld->mld_v2_numrecs = htons(m->m_pkthdr.vt_nrecs); in mld_v2_encap_report()
3852 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6, in mld_v2_encap_report()