[Xorp-hackers] Multicast routing

Sachin K sachinutd at gmail.com
Fri Feb 16 16:42:10 PST 2007


I am using Linux and the ip_mr_cache shows the following:

Group         Origin      Iif     Pkts    Bytes    Wrong Oifs
0A0A0AE8 00000000  0          0        0        0       1:1

Scenario:
[Reciever<10.110.95.25>]<---> vif1 [<10.110.95.24>Router<172.16.1.1>]
vif0 <----> [Sender<172.16.1.3>]

I have set mfcc_ttls to 1 for the Oif and 0 for others. Basically I am using
k_chg_mfc(socket, source, group, iif, oifs) from kern.c in pimd project.

My Call:
k_chg_mfc(igmp_socket, INADDR_ANY, igmph->group, 0, 2)

Multicast datagrams are having a TTL value of 64 and the firewall is
disable on all machines.

I am not getting where I am going wrong.

Thanks,
Sachin

On 2/16/07, Pavlin Radoslavov <pavlin at icir.org> wrote:
> > I have added VIFs on all physical interfaces and getting the required
> > IGMP messages to userspace.
> >
> > Now I add an MFC entry depending on IGMP message using setsockopt and
> > MRT_ADD_MFC.  Does this mean that kernel would do the multicast
> > routing looking at the MFC? or do I need to do something more than
> > adding an MFC entry.
> >
> > For example:
> >
> > [Host A]<--------> vif0 [Router] vif1 <-------> [Host B]
> >
> > [Router] adds vif0 and vif1 and is ready to process IGMP messages.
> >
> > [Host A] sends an IGMP membership report for (S,G) = (Host B, 232.10.10.10)
> >
> > [Router] adds an MFC entry with Iif = vif1 and Oif = vif0.
> >
> > [Host B] is sending multicast packets to 232.10.10.10.
> >
> > But [Host A] is not getting any packets. Note that I am running only
> > my code on [Router], it has no pim or any sorts of standard routing
> > daemons.
> >
> > What would be the problem? Do I need some more configuration on any of
> > the systems?
>
> Do you see the multicast forwarding entries in the kernel with
> commands "netstat -gn" (for *BSD) or "cat /proc/net/ip_mr_cache"
> (for Linux), and do they have the right iif and oif set?
> Also, I presume that you used TTL of 1 for mfcc_ttls.
>
> If yes, then your program has done the right thing.
> In that case, make sure that the TTL of the multicast data packets
> as originated by the sender is at least 2. The default TTL is 1 and
> such packets won't be forwarded.
> Finally, if this didn't help, check whether there are any firewall
> rules that might be stopping the multicast packets.
>
> Regards,
> Pavlin
>



More information about the Xorp-hackers mailing list