From owner-freebsd-current@FreeBSD.ORG Tue Jun 12 16:26:25 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3134D16A41F for ; Tue, 12 Jun 2007 16:26:25 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out4.smtp.messagingengine.com (out4.smtp.messagingengine.com [66.111.4.28]) by mx1.freebsd.org (Postfix) with ESMTP id 0BBBB13C455 for ; Tue, 12 Jun 2007 16:26:25 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 9163F1AD7 for ; Tue, 12 Jun 2007 12:26:24 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute2.internal (MEProxy); Tue, 12 Jun 2007 12:26:24 -0400 X-Sasl-enc: oMnxW+WaP9X2F+GoabWpxO5H8gYzL/qYzyGHkmPX/Ve5 1181665583 Received: from [192.168.123.18] (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTP id BF8322AB8B for ; Tue, 12 Jun 2007 12:26:23 -0400 (EDT) Message-ID: <466EC92E.2050609@incunabulum.net> Date: Tue, 12 Jun 2007 17:26:22 +0100 From: Bruce M Simpson User-Agent: Thunderbird 1.5.0.10 (X11/20070407) MIME-Version: 1.0 To: FreeBSD Current Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: HEADS UP: Source-specific multicast code committed to tree X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 16:26:25 -0000 The SSM socket layer has now been committed. This introduces the protocol-independent multicast socket API specified in RFC 3678. This does not introduce IGMPv3 or MLDv2 support, although it does make the necessary header file changes. It is now possible to block and unblock selected IPv4 multicast sources from within applications, and this is one step towards bringing the IPv4 code up-to-date with respect to other operating systems. * The biggest aspect of the change is that handling of IPv4 multicast socket options has been moved into its own file, netinet/in_mcast.c. * Strict socket membership is now the default; the legacy 4.4BSD behaviour of delivering a multicast datagram to all sockets matching the 4-tuple has been removed. * struct sockaddr_storage is now referenced from within netinet header files, therefore the necessary magic to declare it where needed has been added. * The code has been regression tested for the existing any-source IPv4 multicast interface. * __FreeBSD_version has been bumped, and UPDATING updated. Please read src/UPDATING particularly if you use routed with multicast routes and point-to-point interfaces as the IP_MULTI_IF hack has been removed in favour of the 'struct ip_mreqn' solution used in Linux to specify an interface by index for multicast joins. This is not an issue in the IPv6 and protocol-independent API. I have a patch for the Rhyolite routed code however it has not been committed upstream, it was posted to -net some months ago. Please let me know if there are any issues. Regards, BMS