Lines Matching defs:in6m
151 struct in6_multi *in6m)
161 htons(in6m->in6m_ifp->if_index); /* XXX */
162 if (IN6_ARE_ADDR_EQUAL(&in6m->in6m_addr, &mld6_all_nodes_linklocal) ||
163 IPV6_ADDR_MC_SCOPE(&in6m->in6m_addr) < IPV6_ADDR_SCOPE_LINKLOCAL) {
164 in6m->in6m_timer = 0;
165 in6m->in6m_state = MLD6_OTHERLISTENER;
167 mld6_sendpkt(in6m, MLD6_LISTENER_REPORT, NULL);
168 in6m->in6m_timer = MLD6_RANDOM_DELAY(
170 in6m->in6m_state = MLD6_IREPORTEDLAST;
177 struct in6_multi *in6m)
180 htons(in6m->in6m_ifp->if_index); /* XXX */
182 htons(in6m->in6m_ifp->if_index); /* XXX: necessary when mrouting */
184 if (in6m->in6m_state == MLD6_IREPORTEDLAST &&
185 (!IN6_ARE_ADDR_EQUAL(&in6m->in6m_addr, &mld6_all_nodes_linklocal)) &&
186 IPV6_ADDR_MC_SCOPE(&in6m->in6m_addr) > IPV6_ADDR_SCOPE_NODELOCAL)
187 mld6_sendpkt(in6m, MLD6_LISTENER_DONE,
199 struct in6_multi *in6m;
236 * In Delaying Listener state, our timer is running (in6m->in6m_timer)
237 * In Idle Listener state, our timer is not running (in6m->in6m_timer==0)
239 * The flag is in6m->in6m_state, it is set to MLD6_OTHERLISTENER if
286 in6m = (struct in6_multi *)ifma->ifma_protospec;
287 if (IN6_ARE_ADDR_EQUAL(&in6m->in6m_addr,
289 IPV6_ADDR_MC_SCOPE(&in6m->in6m_addr) <
295 &in6m->in6m_addr))
299 mld6_sendpkt(in6m, MLD6_LISTENER_REPORT,
301 in6m->in6m_timer = 0; /* reset timer */
302 in6m->in6m_state = MLD6_IREPORTEDLAST;
304 else if (in6m->in6m_timer == 0 || /*idle state*/
305 in6m->in6m_timer > timer) {
306 in6m->in6m_timer =
341 IN6_LOOKUP_MULTI(mldh->mld6_addr, ifp, in6m);
342 if (in6m) {
343 in6m->in6m_timer = 0; /* transit to idle state */
344 in6m->in6m_state = MLD6_OTHERLISTENER; /* clear flag */
362 struct in6_multi *in6m;
374 IN6_FIRST_MULTI(step, in6m);
375 while (in6m != NULL) {
376 if (in6m->in6m_timer == 0) {
378 } else if (--in6m->in6m_timer == 0) {
379 mld6_sendpkt(in6m, MLD6_LISTENER_REPORT, NULL);
380 in6m->in6m_state = MLD6_IREPORTEDLAST;
384 IN6_NEXT_MULTI(step, in6m);
391 struct in6_multi *in6m,
400 struct ifnet *ifp = in6m->in6m_ifp;
429 mac_create_mbuf_linklayer(in6m->in6m_ifp, m);
445 ip6->ip6_dst = dst ? *dst : in6m->in6m_addr;
456 mldh->mld6_addr = in6m->in6m_addr;