Straw poll - All-interface broadcast/multicast

Bruce M Simpson bms at spc.org
Tue Nov 18 13:37:21 PST 2003


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


More information about the freebsd-net mailing list