[Xorp-users] PIM-SM Problems

Pavlin Radoslavov pavlin at icir.org
Fri Oct 6 11:16:41 PDT 2006


> I'm having problems with PIM-SM.  A few threads in the archive show others
> have had difficulties too, but none of those seemed directly relevant,
> although it did give me a few things to try but without success.
> 
> I have a network with a number of locations and I need to configure my
> network with PIM-SM to allow some of the advanced features of my VOIP phone
> system.  Basically, when, for example, I want to conference a call, the VOIP
> system sends a PIM-SM join and each of the extensions send a join too.
> Thereafter the conference is done using multicast.  ('Normal' calls use
> unicast and they're fine.)
> 
> My network has 4 main locations.  The 'top' router has around 14 network
> interfaces to a variety of network segments (i.e. local, LANs) and to the
> other 3 locations (a sub-office, a nearby office and a remote office).
> 
> The secondary location has a link to the top router, 2 local networks, and a
> remote office.
> 
> This means the top router, the nearby office and the remote office is in a
> triangular configuration to give redundant routes.  Both the links to the
> remote office are over a tunnel (openVPN).
> 
> The sub-office is connected directly to the top router and has links to a
> couple of branch offices.
> 
> The multicast traffic should be routeable to all locations and all the local
> networks but, for now, I'd be happy to just get it working between the top
> router and the local nearby office.
> 
> What I'm getting, after much configuration testing and reconfiguration, is a
> uni-directional communication which is basically close, but no cigar.
> 
> The output from an in-progress [attempted] conference is like this :
> 
> [tlr is the top-level-router; nslr is the local sub-office router]
> 
> root at tlr> show pim interface
> Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
> eth0         DISABLED Sparse 2 DR              1 192.168.255.254         0
> eth1         UP       Sparse 2 DR              1 192.168.254.254         1
> eth10        DISABLED Sparse 2 DR              1 192.168.252.129         0
> eth2         UP       Sparse 2 NotDR           1 192.168.252.242         1
> eth3         UP       Sparse 2 DR              1 172.18.63.254           0
> eth4         UP       Sparse 2 DR              1 172.19.255.254          0
> eth5         UP       Sparse 2 DR              1 172.20.255.254          0
> eth6         UP       Sparse 2 DR              1 172.18.31.254           0
> eth7         DISABLED Sparse 2 DR              1 192.168.32.254          0
> eth8         DISABLED Sparse 2 DR              1 172.21.255.254          0
> eth9         DISABLED Sparse 2 DR              1 172.22.255.254          0
> tun0         UP       Sparse 2 DR              1 192.168.250.254         0
> register_vif UP       Sparse 2 DR              1 192.168.254.254         0
> root at tlr> show pim mfc
> Group           Source          RP
> 224.0.1.2       172.20.32.1      192.168.252.242
>     Incoming interface :      eth5
>     Outgoing interfaces:      ............O
> 224.0.1.2       172.20.32.3     192.168.252.242
>     Incoming interface :      eth5
>     Outgoing interfaces:      ............O
> 239.255.255.250 172.20.32.5     192.168.252.242
>     Incoming interface :      eth5
>     Outgoing interfaces:      ............O
> root at tlr>
> 
> 
> And for NSLR :
> 
> root at nslr> show pim interface
> Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
> eth0         UP       Sparse 2 DR              1 172.16.31.254           0
> eth2         DISABLED Sparse 2 DR              1 192.168.252.46          0
> eth3         DISABLED Sparse 2 DR              1 192.168.240.254         0
> eth4         UP       Sparse 2 DR              1 192.168.252.242         1
> eth5         UP       Sparse 2 DR              1 172.16.63.254           0
> tun0         UP       Sparse 2 DR              1 192.168.251.254         0
> register_vif UP       Sparse 2 DR              1 172.16.31.254           0
> root at nslr> show pim mfc
> Group           Source          RP
> 224.0.1.2       172.16.2.245    192.168.252.242
>     Incoming interface :      eth0
>     Outgoing interfaces:      .......
> 224.0.1.2       172.20.32.1     192.168.252.242
>     Incoming interface :      register_vif
>     Outgoing interfaces:      O......
> 224.0.1.2       172.20.32.3     192.168.252.242
>     Incoming interface :      register_vif
>     Outgoing interfaces:      O......
> 224.0.1.59      172.16.6.1      192.168.252.242
>     Incoming interface :      eth0
>     Outgoing interfaces:      ....O..
> 239.255.255.250 172.16.32.62    192.168.252.242
>     Incoming interface :      eth0
>     Outgoing interfaces:      ....O..
> 239.255.255.250 172.20.32.5     192.168.252.242
>     Incoming interface :      register_vif
>     Outgoing interfaces:      ....O..
> root at nslr>
> 
> 
> This is showing an in-progress conference call which has 2 x internal users
> on the 172.20/16 network and 2 x external users via the 172.16/19 network (
> i.e. on the voip phone server).

>From the "show pim mfc" output for NSLR I see only one external
user for group 224.0.1.2: 172.16.2.245. If there is another external
user for that group, and if it has been idle for few minutes then
its state has probably timed out. Otherwise, double-check its setup
(group to join, etc).
Though, this is not related to the main problem you describe below.

> The external users can hear all parties and can hear each other ( i.e. 2
> external callers and hear and speak to each other).
> 
> The internal users can hear each other but not the external parties.
> 
> The multicast for the conference is 224.0.1.2 which as you will see on nslr
> does not have any outgoing interface marked but on tlr, this does have an
> external interface marked.
> 
> I think this is part of the problem - it's the fix that's the real pest
> right now.  The absence of a route out for the multicast on nslr would also
> explain why the internal users do not hear the external users and the
> external users do hear the internal ones.

Yes, the missing outgoing interface in NSRL for 224.0.1.20 is the
problem. The outgoing interface should be eth4, and the entry should
look like:

Group           Source          RP
224.0.1.2       172.16.2.245    192.168.252.242
    Incoming interface :      eth0
    Outgoing interfaces:      ...O...

What should have happened is that initially TLR would send PIM-SM
(*,G) Join message to the RP (NSLR) for group 224.0.1.2.
Hence, could you check the PIM-SM Join state in both TLR and NSLR
and send us the output. The xorpsh CLI command is "show pim join".
Also, could you send the output for "show pim mrib" for both
routers.

BTW, in your current setup NSLR is the RP for the group, which is
OK for this particular test. However, TLR seems a more natural
choice to be the RP when you enable PIM-SM everywhere else (the
Local Office and the Remote Office).

> Have I missed something entirely ?  Perhaps someone can suggest where I
> should look next ?
> 
> (Configs not attached due to the mailing list posting size limit).

Could you send me your configuration (TLR and NSLR only) in a
private email (to double-check the source of the problem is not in
the configuration itself).

Regards,
Pavlin



More information about the Xorp-users mailing list