Lines Matching refs:mld

197 static MALLOC_DEFINE(M_MLD, "mld", "mld state");
221 SYSCTL_NODE(_net_inet6, OID_AUTO, mld, CTLFLAG_RW, 0,
242 TUNABLE_INT("net.inet6.mld.v1enable", &mld_v1enable);
247 TUNABLE_INT("net.inet6.mld.use_allow", &mld_use_allow);
628 /*const*/ struct mld_hdr *mld)
643 ip6_sprintf(ip6tbuf, &mld->mld_addr),
663 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) {
680 in6_setscope(&mld->mld_addr, ifp, NULL);
693 timer = (ntohs(mld->mld_maxdelay) * PR_FASTHZ) / MLD_TIMER_SCALE;
718 inm = in6m_lookup_locked(ifp, &mld->mld_addr);
721 ip6_sprintf(ip6tbuf, &mld->mld_addr),
726 in6_clearscope(&mld->mld_addr);
808 struct mldv2_query *mld;
833 mld = (struct mldv2_query *)(mtod(m, uint8_t *) + off);
835 maxdelay = ntohs(mld->mld_maxdelay); /* in 1/10ths of a second */
844 qrv = MLD_QRV(mld->mld_misc);
851 qqi = mld->mld_qqi;
853 qqi = MLD_QQIC_MANT(mld->mld_qqi) <<
854 (MLD_QQIC_EXP(mld->mld_qqi) + 3);
857 nsrc = ntohs(mld->mld_numsrc);
868 if (IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr)) {
882 in6_setscope(&mld->mld_addr, ifp, NULL);
935 inm = in6m_lookup_locked(ifp, &mld->mld_addr);
962 in6_clearscope(&mld->mld_addr);
982 struct mldv2_query *mld;
990 mld = (struct mldv2_query *)(mtod(m0, uint8_t *) + off);
1008 nsrc = ntohs(mld->mld_numsrc);
1088 * Assumes mld points to mld_hdr in pulled up mbuf chain.
1095 /*const*/ struct mld_hdr *mld)
1106 ip6_sprintf(ip6tbuf, &mld->mld_addr),
1133 if (!IN6_IS_ADDR_MULTICAST(&mld->mld_addr) ||
1134 !IN6_ARE_ADDR_EQUAL(&mld->mld_addr, &dst)) {
1162 ip6_sprintf(ip6tbuf, &mld->mld_addr), ifp, ifp->if_xname);
1168 if (!IN6_IS_ADDR_UNSPECIFIED(&mld->mld_addr))
1169 in6_setscope(&mld->mld_addr, ifp, NULL);
1181 inm = in6m_lookup_locked(ifp, &mld->mld_addr);
1208 ip6_sprintf(ip6tbuf, &mld->mld_addr),
1226 in6_clearscope(&mld->mld_addr);
1247 struct mld_hdr *mld;
1257 mld = (struct mld_hdr *)(mtod(m, uint8_t *) + off);
1258 if (mld->mld_type == MLD_LISTENER_QUERY &&
1264 IP6_EXTHDR_GET(mld, struct mld_hdr *, m, off, mldlen);
1265 if (mld == NULL) {
1274 switch (mld->mld_type) {
1278 if (mld_v1_input_query(ifp, ip6, mld) != 0)
1288 if (mld_v1_input_report(ifp, ip6, mld) != 0)
1793 struct mld_hdr *mld;
1835 mld = mtod(md, struct mld_hdr *);
1836 mld->mld_type = type;
1837 mld->mld_code = 0;
1838 mld->mld_cksum = 0;
1839 mld->mld_maxdelay = 0;
1840 mld->mld_reserved = 0;
1841 mld->mld_addr = in6m->in6m_addr;
1842 in6_clearscope(&mld->mld_addr);
1843 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6,
3055 struct mld_hdr *mld;
3121 mld = (struct mld_hdr *)(mtod(md, uint8_t *) + off);
3122 type = mld->mld_type;
3160 struct mldv2_report *mld;
3203 mld = (struct mldv2_report *)(ip6 + 1);
3204 mld->mld_type = MLDV2_LISTENER_REPORT;
3205 mld->mld_code = 0;
3206 mld->mld_cksum = 0;
3207 mld->mld_v2_reserved = 0;
3208 mld->mld_v2_numrecs = htons(m->m_pkthdr.PH_vt.vt_nrecs);
3212 mld->mld_cksum = in6_cksum(mh, IPPROTO_ICMPV6,
3310 "mld",
3314 DECLARE_MODULE(mld, mld_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);