Subject: RE: MBone tunnel and FreeBSD

From: Yves Lepage <[email-masked]>
Date: Thu, 16 Apr 1998 10:05:58 -0400

Hi again,

here's another idea:

What about removing the test for two VIF's so that mrouted will start,
making it test for one VIF instead?

This would effectively transform mrouted into an mcast end-point. How
would the router part of mrouted cope with that? I figure it would be a
situation similar to not having anyone member of any group downstream
via interface X; no packet would be forwarded to that interface...

Yves

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
> Sent: Thursday, April 16, 1998 9:29 AM
> To: Bill Fenner
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Re: MBone tunnel and FreeBSD
> 
> 
> 
> 
> On Wed, 15 Apr 1998, Bill Fenner wrote:
> 
> 
> > 
> > There's a 4th solution which we actually implemented in the SunOS
kernel
> > but didn't like very much:
> > 
> > 4. Add a flag to the interface which black-holes all output
multicast
> > packets after the loopback to local processes but before calling
> > the interface's output routine.
> > 
> > It helps in this particular case, where you have a multicast-capable
> > interface that you don't want to actually output any packets on; it
> > doesn't help in the general case where you may not even have a
> > multicast-capable interface at all.
> > 
> >   Bill
> > 
> 
> This sounds interesting. After all if you are going to do any
multicasting
> one would hope you have a proper interface. Also this could evolve
into a
> general solution for limiting multicast traffic to only the mrouted
> machine. Any idea how feasible it would be to implement this on
FreeBSD??
> Regards 
> nand

---

From: Bill Fenner <[email-masked]>
Date: Thu, 16 Apr 1998 08:49:20 PDT

As I said before, the machine running mrouted is not special with respect
to receiving packets - if you don't forward packets to a "real" interface
on the machine (where "real" includes discard), then applications can't
receive them.  If you run an mrouted with only a single tunnel interface
and no physical interfaces, the host will never see any traffic.

Another solution for simply having a single machine on the end of a tunnel
is to build a tunnel that uses a real interface (e.g. the tunN interface
that allows user-level tunnelling on FreeBSD).  You then don't even need
to run mrouted; you can simply point your route for 224/4 towards the
tunnel and you will just do IGMP over the tunnel.

This has some of the same disadvantages as the previous solution having to
do with the multicast loopback interface, and yet another one: if you run
a unicast routing daemon, you have to make sure that it doesn't automatically
start routing on this interface (programs like "routed" automatically start
on all real interfaces).  This was one of the reasons that the multicast
kernel patches has a tunnelling mechanism that's not exposed to the user
level.

  Bill