Bruce M Simpson 33cde13046 Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit:
import from p4 bms_netdev.  Summary of changes:

 * Connect netinet6/in6_mcast.c to build.
   The legacy KAME KPIs are mostly preserved.
 * Eliminate now dead code from ip6_output.c.
   Don't do mbuf bingo, we are not going to do RFC 2292 style
   CMSG tricks for multicast options as they are not required
   by any current IPv6 normative reference.
 * Refactor transports (UDP, raw_ip6) to do own mcast filtering.
   SCTP, TCP unaffected by this change.
 * Add ip6_msource, in6_msource structs to in6_var.h.
 * Hookup mld_ifinfo state to in6_ifextra, allocate from
   domifattach path.
 * Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced.
   Kernel consumers which need this should use in6m_lookup().
 * Refactor IPv6 socket group memberships to use a vector (like IPv4).
 * Update ifmcstat(8) for IPv6 SSM.
 * Add witness lock order for IN6_MULTI_LOCK.
 * Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths.
 * Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup.
 * Update carp(4) for new IPv6 SSM KPIs.
 * Virtualize ip6_mrouter socket.
   Changes mostly localized to IPv6 MROUTING.
 * Don't do a local group lookup in MROUTING.
 * Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge().
 * Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode.
 * Bump __FreeBSD_version to 800084.
 * Update UPDATING.

NOTE WELL:
 * This code hasn't been tested against real MLDv2 queriers
   (yet), although the on-wire protocol has been verified in Wireshark.
 * There are a few unresolved issues in the socket layer APIs to
   do with scope ID propagation.
 * There is a LOR present in ip6_output()'s use of
   in6_setscope() which needs to be resolved. See comments in mld6.c.
   This is believed to be benign and can't be avoided for the moment
   without re-introducing an indirect netisr.

This work was mostly derived from the IGMPv3 implementation, and
has been sponsored by a third party.
2009-04-29 19:19:13 +00:00
..
2008-05-20 12:07:02 +00:00
2009-04-28 20:23:58 +00:00
2007-12-19 03:31:44 +00:00
2008-08-02 00:10:02 +00:00
2008-04-05 10:26:20 +00:00
2008-07-14 13:22:09 +00:00
2009-04-01 08:33:54 +00:00
2008-12-01 17:39:34 +00:00
2009-01-31 07:03:36 +00:00
2009-02-15 03:21:37 +00:00
2009-03-19 20:24:30 +00:00
2007-11-07 10:53:41 +00:00
2009-04-04 15:48:09 +00:00
2007-07-03 12:46:08 +00:00
2009-01-30 15:28:56 +00:00
2008-09-11 09:55:54 +00:00
2007-11-07 10:53:41 +00:00
2009-04-04 16:03:28 +00:00
2009-04-28 20:20:13 +00:00
2009-01-06 14:23:38 +00:00
2006-09-29 17:57:04 +00:00
2007-01-20 23:24:11 +00:00
2008-11-18 23:38:47 +00:00
2006-09-30 19:07:03 +00:00
2006-08-22 08:03:01 +00:00
2008-12-24 09:17:30 +00:00
2009-02-11 16:28:49 +00:00
2007-11-07 10:53:41 +00:00
2007-02-15 02:45:14 +00:00
2007-03-16 12:36:54 +00:00
2007-10-31 13:49:20 +00:00
2008-06-03 22:34:52 +00:00
2009-04-08 06:51:58 +00:00
2008-12-29 14:59:22 +00:00
2006-12-22 23:23:59 +00:00
2009-03-15 01:39:16 +00:00