From owner-freebsd-net@FreeBSD.ORG Tue Nov 18 13:37:21 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 634EF16A4CE for ; Tue, 18 Nov 2003 13:37:21 -0800 (PST) Received: from arginine.spc.org (arginine.spc.org [195.206.69.236]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33CCF43FF2 for ; Tue, 18 Nov 2003 13:37:20 -0800 (PST) (envelope-from bms@spc.org) Received: from localhost (localhost [127.0.0.1]) by arginine.spc.org (Postfix) with ESMTP id B944465476; Tue, 18 Nov 2003 21:37:18 +0000 (GMT) Received: from arginine.spc.org ([127.0.0.1]) by localhost (arginine.spc.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 50703-03-2; Tue, 18 Nov 2003 21:37:18 +0000 (GMT) Received: from saboteur.dek.spc.org (unknown [82.147.19.91]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by arginine.spc.org (Postfix) with ESMTP id CA0BE65292; Tue, 18 Nov 2003 21:37:17 +0000 (GMT) Received: by saboteur.dek.spc.org (Postfix, from userid 1001) id 20C931C; Tue, 18 Nov 2003 21:36:59 +0000 (GMT) Date: Tue, 18 Nov 2003 21:36:59 +0000 From: Bruce M Simpson To: Barney Wolff Message-ID: <20031118213659.GE89189@saboteur.dek.spc.org> Mail-Followup-To: Barney Wolff , freebsd-net@freebsd.org References: <20031118130200.GA87978@saboteur.dek.spc.org> <20031118171900.GA28864@pit.databus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031118171900.GA28864@pit.databus.com> cc: freebsd-net@freebsd.org Subject: Re: Straw poll - All-interface broadcast/multicast X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Nov 2003 21:37:21 -0000 On Tue, Nov 18, 2003 at 12:19:00PM -0500, Barney Wolff wrote: > Some questions, because I'd like to be an educated voter. > > 1. How does multicast routing work now? Presumably something takes a > mcast packet and sends it out to every interface behind which some host > has indicated group membership. Is this kernel or userland? Does it > work at all? Kernel. Works. Right now, the default multicast route is via the interface with the default route; setting a route isn't necessary unless you need to force multicast to go via a particular interface by default, this is done by longest-prefix matching like all other IPv4 routing activities. Only one copy of the multicast datagram is sent. Running an MROUTER is a special case. The vif mechanism is used to forward multicast datagrams on multiple interfaces under mrouted(8) control. > 2. How is "appropriate" defined - by administrator choice or by some > inherent property of the interface hardware type? For the broadcast case, if IFF_BROADCAST is set on the interface, and it has AF_INET address[es] configured. For the multicast case, a membership must exist for the interface in question. [I haven't written the multicast hack yet, but mdodd@ requested it.] > 3. How do other OS's do it, if at all? Some broadcast on all interfaces, some don't. I'm awaiting more feedback on this, I haven't really researched this point. > 4. How will this interact with IPv6? IPsec? This purely affects IPv4. IPSEC encapsulation gets handled at the ip_output() level afterwards. fenner's objection to this has been noted, he suggests re-architecting my current patch to take place at a higher level. BMS