[Xorp-users] IGMP/PIM question ?

Pavlin Radoslavov pavlin at icir.org
Mon Jul 17 15:16:44 PDT 2006


>   A follow up on an old thread (see below). I am still having trouble 
> getting something accomplished which I thought would be fairly 
> straightforward. Here goes..
> 
>   In essence, I want to be able to run PIM (however ineffective it might 
> be) in an ad-hoc network where each router is a host as well. As a simple 
> setup, consider R1, R2, R3, R4 and R5 in a simple chain
> 
>   The config.boot is fairly simple on all 5 nodes, (it is the same 
> actually) with PIM and IGMP running on the single interface.

When you say "PIM ... running on the single interface", do
you mean that you have configured PIM-SM only on a single interface
on each router?

You cannot use PIM-SM for any effective multicast forwarding with a
single network interface. For example, every multicast forwarding
entry (as installed in the kernel) has an incoming interface, and a
set of outgoing interfaces. An incoming interface is automatically
excluded from the oifs set. Hence, with a single enabled interface
the oifs set is always empty.

>   R4 is configured statically as the RP and XORP is running on all nodes.
> 
>   I have made a couple of changes in the XORP mld6igmp module code :
> 
> - Only local IGMP messages are handled in mld6igmp_process()
> - Do NOT ignore self queries in mld6igmp_membership_query_recv
> 
>    This enables the router to act as the primary responder to receiver 
> applications
> 
>   A couple of changes in xorp PIM module code:
> 
> - Always return 'false' so that router is DR in pim_dr_is_better()
> - Only send PIM register if source is self in signal_message_wholepkt_recv
> 
> What the two sets of changes should allow is that when a 
> receiver-application is started on R1, it should send a PIM join towards 
> R4.
> When a sender-application is started on R1, only it should send a PIM 
> register towards R4
> 
> When the receiver application is started, it adds MFC entry (S,G) for 
> itself, but does not send a PIM Join towards R4 for which it has a unicast 

Are you using Linux?
There is a bug in the Linux kernel such that when you start a local
receiver on the multicast router, a bogus (S,G) upcall message
(NOCACHE?) is generared to userland (XORP), and this triggers the
generation of a (S,G) routing entry. This entry should be harmless,
but its generation/existence could be confusing, because such
upcalls should be generated only when there is data traffic.

A PIM Join toward the RP (R4) should have been generated
though. Could you send the output of the following commands:

 show pim join
 show pim mrib
 show pim interface
 show pim neighbors
 show pim rps
 show igmp group

Regards,
Pavlin

> path available and ready. Subsequent kill and restarts of the 
> receiver-applications merely add_memberships and delete_memberships, but 
> no PIM joins are initiated from R1 towards R4 via R2 and R3
> 
> There are issues with the register as well, but let me resolve this one 
> issue at a time.
> 
> If someone needs, I could send in logs, etc of the debug statements and 
> outputs of "show pim mfc" etc
> 
> Please advise
> 
> regards..
> vikram



More information about the Xorp-users mailing list