[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