Deleted Added
full compact
64c64
< __FBSDID("$FreeBSD: head/sys/netinet6/ip6_input.c 191433 2009-04-23 17:41:54Z bz $");
---
> __FBSDID("$FreeBSD: head/sys/netinet6/ip6_input.c 191672 2009-04-29 19:19:13Z bms $");
558c558,559
< * Multicast check
---
> * Multicast check. Assume packet is for us to avoid
> * prematurely taking locks.
561,562c562
< struct in6_multi *in6m = 0;
<
---
> ours = 1;
564,576d563
< /*
< * See if we belong to the destination multicast group on the
< * arrival interface.
< */
< IN6_LOOKUP_MULTI(ip6->ip6_dst, m->m_pkthdr.rcvif, in6m);
< if (in6m)
< ours = 1;
< else if (!ip6_mrouter) {
< V_ip6stat.ip6s_notmember++;
< V_ip6stat.ip6s_cantforward++;
< in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard);
< goto bad;
< }
826c813,814
< if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
---
> if (V_ip6_mrouter &&
> IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) {
835c823
< if (ip6_mrouter && ip6_mforward &&
---
> if (ip6_mforward &&
837c825,826
< V_ip6stat.ip6s_cantforward++;
---
> IP6STAT_INC(ip6s_cantforward);
> in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard);
840,841d828
< if (!ours)
< goto bad;