[Xorp-users] Linux 2.6 multicast issue using PIM

Pavlin Radoslavov pavlin@icir.org
Mon, 23 Aug 2004 10:05:28 -0700


> Bruce
> Thanks for the comment and this is why the local concern here is the kernel 
> multicast functions are not really working in Linux 2.6, therefore, any 
> user apps (aka PIM) wont function correctly.
> 
> ...chris

Chris,

Based on my test results with a 2.6 kernel, I had no problems with
multicast forwarding, therefore to solve the problem faster I
would recommend that we try to isolate it by first looking somewhere
else.

Hence, can you do the following:

1. Make sure that you have the following options in you Linux-2.6
kernel configuration file:

CONFIG_IP_MULTICAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V2=y

[those options are mentioned in xorp/pim/README]

If you don't have the above options enabled, the results are
unpredictable.

2. For consistency, please get the lastest XORP code from the
   anonymous CVS repository.

3. Please answer my earlier question whether your PIM routers are
   directly connected to each other (e.g., via a physical LAN), or
   whether there is something between them. For example, do you have
   switches, do you use some tunnels (e.g., openvpn), etc.

4. Once you start XORP PIM on two neighbor routers, please run
   tcpdump on the neighboring interfaces on each router. E.g., in
   your topology you have:

Host <--> Core 2 (acting as edge router) <--> Core 2 (acting as backbone 
rtr) <--> Core 2 (edge rtr) <--> Host.

   In that case, please run tcpdump on the interface that connects
   the first edge router to the backbone router, and on the
   corresponding interface of the backbone router.

   In your previous email you said that each router is sending PIM
   Hello messages, but those messages are not received by the other
   routers. Hence, by running tcpdump can you confirm whether the
   PIM Hello messages originated by the backbone router reach the
   first edge router (and vice-versa). If tcpdump on the backbone
   router shows that the Hello messages are sent on that interface,
   but tcpdump on the first edge router does not see those Hello
   messages, then the Hellos have been lost somewhere between the
   routers (e.g., a switch in the middle may have filtered them, a
   virtual tunnel may have been misconfigured, etc). If tcpdump on
   the receiving side does see the Hellos, but PIM userland daemon
   doesn't see them, then the problem is within the router itself,
   and we can take additional steps to find it.

Once we have the above information, we can trace the problem
further. Otherwise, we will be just guessing...

Thanks,
Pavlin

> 
> At 08:21 AM 8/23/2004, Bruce M Simpson wrote:
> 
> >On Mon, Aug 23, 2004 at 02:04:14PM +0200, Arnaud Le Taillanter wrote:
> > > Just out of curiosity, why is PIM kernel support necessary for the Xorp
> > > PIM daemon to operate?
> > > I've successfully run XORP PIM on a FreeBSD box, I followed the
> > > documentation and enabled the kernel options MROUTING (fair :) and also
> > > PIM, but I don't see why Xorp PIM would need PIM support from the
> > > kernel. Xorp BGP doesn't need BGP support from the kernel for example.
> >
> >BGP lives entirely in userland; it only requires specific kernel support
> >in special circumstances (TCP-MD5).
> >
> >PIM does not live entirely in userland. Multicast forwarding functions are
> >located within the kernel.