[Xorp-users] IPv4 PIM-SM and SSM (was Xorp debug messages)

Pavlin Radoslavov pavlin@icir.org
Fri, 10 Mar 2006 16:11:50 -0800


> >>I solved my problem regarding the Hello messages. I set up a new
> >>machine, running Xorp-1.2-RC and a properly configured 2.6.10 kernel.
> >>Xorp and Click now successfully exchange PIM Hello messages.
> >>    
> >>
> >
> >Can you elaborate a little bit more on the original problem and the
> >solution. If I understand correctly, it was not possible to pass the
> >PIM control messages from Click to XORP (if they were running on the
> >same machine). However, if you run Click on a separate machine
> >directly connected to XORP then XORP could receive the PIM control
> >messages. Is this correct?
> >  
> >
> I'm running Click and Xorp on separate machines.
> As you suggested before I set up a pure Xorp testbed (2 machines). 
> Sending PIM control messages worked fine but neither of the Xorp routers 
> received the messages. They physically passed the link (tethereal).
> The machines are servers in the machine room and half the department is 
> working on them. Since I don't even have root access, I gave up 
> searching for the problem and set up my laptop as a 2-port Xorp router. 
> Maybe the problem was a messed up kernel configuration.
> I was confused because it was possible for the Xorp routers to receive 
> IGMP messages from connected hosts. I couldn't figure out why they 
> didn't get PIM control messages.
> 
> Receiver <--IGMP works--> Xorp Router <--PIM control doesn't work-->Xorp 
> Router <--....
> 
> Click is working fine on these machines so I did not investigate any 
> further.

A quick suggestion: could be a firewall rule that stops the
messages?
Otherwise, it is difficult to find the problem without further
investigation.

> Thank you for explaining all the rest, it made a lot of things clear!
> 
> >The problematic flags are the "|S|W|R|" flags in the Encoded-Source
> >address format (see Section 4.9.1 in the spec).
> >In your case "(S,G) Join" the flags should be "1|0|0" (i.e., 0x4).
> >However, you have "1|1|0". I.e., you have set the S and the W flags,
> >but this is not a valid combination because the spec says that:
> >"If the WC bit is 1, the RPT bit MUST be 1".
> >
> >Keep only the "S" bit value set to 1 and try again.
> >  
> >
> Yes, that solved the problem. Click and Xorp routers are now building a 
> shortest path tree. Hello and Join/Prune messages work fine.
> 
> Xorp throws the following warning for each multicast packet:
> [ ... WARNING xorp_pimsm4 PIM ] RX WHOLEPKT signal from MFEA_4: 
> vif_index = 2 src = 192.168.40.1 dst = 232.2.2.2 len = 1344: no 
> interface connected directly to source

The data packet from source 192.168.40.1 was received on an
interface (probably the third one in the order you can see them with
the "show pim interface" command), but that interface either doesn't
exist anymore (less likely), or is not UP. What is the output of
"show pim interface"?

If you want to debug the reason for the warning (e.g., to print the
name of the interface with vif_index of 2 if it exists), add some
XLOG_TRACE() right before the above XLOG_WARNING() around line 154
in pim/pim_mrt_mfc.cc.

Pavlin