> From: Ermal Luçi [mailto:[email protected]] 
> Sent: July 25, 2009 5:30 PM
> 
> >On Sat, Jul 25, 2009 at 9:55 PM, Evgeny
> >Yurchenko<[email protected]> wrote:
> >
> > What I am trying to understand here is "how should it work"?
> > 'IGMP proxy' means that it should proxy IGMP-packets. Ok, now I got 
> > it working with some modification of its code.
> > Now IGMP from downstream interface is proxied to upstream interface.
> > Device on upstream interface start multicasting on this network segment,
> > so pfSense starts receiving multicast stream on upstream interface. 
> > Now the question, what should happen with these multicast packets?
> > 1) kernel shoud route them to downstream interface.
> > 2) igmpproxy should be receiving them and transmitting on downstream 
> > interface.
> > Your thoughts please?
> >
> 
> Yeah kernel should do the routing.
> I think there might be a sysctl for alloing multicast 
> forwarding to work but that should be activated when you 
> create the socket(to be verified!).
> 
> I will give it a look soon and find the solution that feets all.
> 
> Though on 2.0 based on 8.0 freebsd it works without as it is.
> 
I was stupid enough sending multicast UDP traffic with TTL=1 (although settings 
in my player were telling me 10).
Everything is working fine now.
No static routes needed.
Multicast routing is done by kernel. Upstream interface starts receiving mcast 
packets as soon as you call setsockopt(UdpSock, IPPROTO_IP, IP_ADD_MEMBERSHIP 
... ). Downstream interface starts transmitting mcast packets as soon as you 
call setsockopt( MRouterFD, IPPROTO_IP, MRT_ADD_MFC, ...). 
The code of igmpproxy is heavily inherited from mrouted and actual proxying of 
IGMP-packets does not happen. It is not a problem if mcast sender on upstream 
interface does not care about memberships and just multicasts always, but if it 
is wise sender, or if sender is located in several routers upstream then IGMP 
is needed. So I fixed this small issue for 1.2.2 (I have only this development 
version). There was another problem with understanding interfaces consisting of 
more than 3 letters (em1 - ok, bge1 - can't start), also fixed. Could somebody 
validate and put my several lines of code in repository please? How does it 
work at all - if somebody found solution for some problem, what to do?

Thank you.
Eugene.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Commercial support available - https://portal.pfsense.org

Reply via email to