Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 1995 11:29:51 PDT
From:      Bill Fenner <fenner@parc.xerox.com>
To:        davidg@root.com
Cc:        hackers@freebsd.org
Subject:   Re: Multicast on PPP devices 
Message-ID:  <95Aug21.113005pdt.177475@crevenia.parc.xerox.com>
In-Reply-To: Your message of "Mon, 21 Aug 95 11:18:54 PDT." <199508211818.LAA00148@corbin.Root.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199508211818.LAA00148@corbin.Root.COM> you write:
>   It was changed to allow the local IPaddr of a point-to-point interface to
>be shared, thus routing has to be based on the destination. Do you have a
>suggestion on how to keep this functionality and not break multicasts over
>point-to-point links?

The problem is that multicasts are forwarded based on source address.  There 
is a table mapping (Source, Group) -> (iif, oiflist) where iif is the expected 
incoming interface, and the oiflist is the list of outgoing interfaces.  If 
this is changed to (S, G, iif) -> (oiflist), with the current architecture of 
the code, you can easily create forwarding loops.

The key to the problem is that the multicast forwarding code treats input 
packets and output packets the same; in fact, if you are a member of a group 
on an interface, and you output a packet on that interface, that packet is 
looped around to the IP input queue, and forwarded from the ip_input() side.

In any case, this problem is fermenting in the back of my mind, but I 
certainly don't have an immediate solution.  I'm afraid that the solution is 
changing the architecture, which I'm certainly not up to at the moment.

  Bill




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95Aug21.113005pdt.177475>