[Xorp-users] Problem setting up PIM-SM with Cisco on Amazon EC2

Ben Greear greearb at candelatech.com
Wed Feb 9 14:21:50 PST 2011


On 02/09/2011 05:52 AM, Andriy Senkovych wrote:
> Dear xorp experts,
>
> I have a problem configuring PIM-SM on Amazon EC2. The problem is that
> xorp doesn't send PIM_JOIN_PRUNE to the RP when client joins the
> group. Here are some notes on my configuration:
>
> Network:
> Client (10.100.123.102/30) --- GRE tun123101 --- (10.100.123.101/30 )
> XORP (10.100.247.102/30) --- GRE tun247102 --- Cisco
> (10.100.247.101/30)
>
> GRE tunnels are wrapped over IPSec and seem to work well (i.e. I could
> send and recieve multicast through the tunnel with no packet loss).
>
> I've got the Cisco-like configuration for XORP from the data provider:
>
> ip multicast-routing
> !
> access-list 2 permit 239.1.10.0 0.0.0.255
> access-list 3 permit 239.1.20.0 0.0.0.255
> ip pim rp-address 192.168.0.21 2 override
> ip pim rp-address 192.168.0.11 3 override
> !
> ip pim autorp listener
> ip pim spt-threshold infinity
> no ip pim dm-fallback
>
> So I translated it into xorp's configuration (attached)
>
> When started, xorp finds Cisco neighbour and Cisco also discovers xorp:
>
>> show pim interfaces
> Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
> tun123101    UP       Sparse 2 DR              1 10.100.123.101          0
> tun247102    UP       Sparse 2 DR              1 10.100.247.102          1
> register_vif DISABLED Sparse 2 DR              1 10.100.247.102          0
>
>> show pim neighbors
> Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
> tun247102             1 10.100.247.101  2 Sparse      105      87
>
> And we have some static configured RPs:
>
>> show pim rps
> RP              Type      Pri Holdtime Timeout ActiveGroups GroupPrefix
> 192.168.0.21    static    192       -1      -1            0 239.1.10.0/24
> 192.168.0.11    static    192       -1      -1            0 239.1.20.0/24
>
> Both Cisco and xorp recieve and transfer PIM_HELLO normally.
>
> When the client joins 239.1.20.54:4457 group xorp has the following in its log:
>
> [ 2011/02/09 12:55:51 TRACE xorp_pimsm4 PIM ] Add membership for
> (0.0.0.0, 239.1.20.54) on vif tun123101
> [ 2011/02/09 12:55:51 TRACE xorp_pimsm4 PIM ] TX PIM_JOIN_PRUNE from
> 10.100.247.102 to 224.0.0.13 on vif tun247102
> [ 2011/02/09 12:55:51 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_V2_MEMBERSHIP_REPORT from 10.100.123.102 to 239.1.20.54 on vif
> tun123101
> [ 2011/02/09 12:55:51 TRACE xorp_igmp MLD6IGMP ] Notify routing add
> membership for (0.0.0.0, 239.1.20.54) on vif tun123101
> [ 2011/02/09 12:55:55 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_V2_MEMBERSHIP_REPORT from 10.100.123.102 to 239.1.20.54 on vif
> tun123101
> [ 2011/02/09 12:56:00 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_V2_MEMBERSHIP_REPORT from 10.100.123.102 to 239.1.20.54 on vif
> tun123101
>
> After this I believe there should be some PIM_JOIN_PRUNE message
> telling RP that I'd like to recieve traffic for this group but this
> doesn't. Cisco doesn't seem to recieve join messages from xorp too.
>
> When I stop client I get the following:
> [ 2011/02/09 13:36:42 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_V2_LEAVE_GROUP from 10.100.123.102 to 224.0.0.2 on vif tun123101
> [ 2011/02/09 13:36:42 TRACE xorp_igmp MLD6IGMP ] TX
> IGMP_MEMBERSHIP_QUERY from 10.100.123.101 to 239.1.20.54
> [ 2011/02/09 13:36:42 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_MEMBERSHIP_QUERY from 10.100.123.101 to 239.1.20.54 on vif
> tun123101
> [ 2011/02/09 13:36:43 TRACE xorp_igmp MLD6IGMP ] TX
> IGMP_MEMBERSHIP_QUERY from 10.100.123.101 to 239.1.20.54
> [ 2011/02/09 13:36:43 TRACE xorp_igmp MLD6IGMP ] RX
> IGMP_MEMBERSHIP_QUERY from 10.100.123.101 to 239.1.20.54 on vif
> tun123101
> [ 2011/02/09 13:36:44 TRACE xorp_igmp MLD6IGMP ] Notify routing delete
> membership for (0.0.0.0, 239.1.20.54) on vif tun123101
> [ 2011/02/09 13:36:44 TRACE xorp_pimsm4 PIM ] Delete membership for
> (0.0.0.0, 239.1.20.54) on vif tun123101
> [ 2011/02/09 13:36:44 TRACE xorp_pimsm4 PIM ] TX PIM_JOIN_PRUNE from
> 10.100.247.102 to 224.0.0.13 on vif tun247102
>
>
> Here is some additional information from xorp:
>
>> show pim mfc
> Group           Source          RP
> 224.0.1.39      194.247.133.211 0.0.0.0
>      Incoming interface :      tun247102
>      Outgoing interfaces:      ...
> 224.0.1.39      194.247.133.221 0.0.0.0
>      Incoming interface :      tun247102
>      Outgoing interfaces:      ...
> 224.0.1.40      194.247.133.211 0.0.0.0
>      Incoming interface :      tun247102
>      Outgoing interfaces:      ...
> 224.0.1.40      194.247.133.221 0.0.0.0
>      Incoming interface :      tun247102
>      Outgoing interfaces:      ...
>
>> show pim join
> Group           Source          RP              Flags
> 239.1.20.54     0.0.0.0         192.168.0.11    WC
>      Upstream interface (RP):   tun247102
>      Upstream MRIB next hop (RP): 10.100.247.101
>      Upstream RPF'(*,G):        10.100.247.101
>      Upstream state:            Joined
>      Join timer:                6
>      Local receiver include WC: O..
>      Joins RP:                  ...
>      Joins WC:                  ...
>      Join state:                ...
>      Prune state:               ...
>      Prune pending state:       ...
>      I am assert winner state:  ...
>      I am assert loser state:   ...
>      Assert winner WC:          ...
>      Assert lost WC:            ...
>      Assert tracking WC:        OO.
>      Could assert WC:           O..
>      I am DR:                   OOO
>      Immediate olist RP:        ...
>      Immediate olist WC:        O..
>      Inherited olist SG:        O..
>      Inherited olist SG_RPT:    O..
>      PIM include WC:            O..
>
>
> Additional things I've checked and tried:
>
> 1) Kernel configuration: seems to be fine since "cat
> /proc/sys/net/ipv4/conf/tun*/mc_forwarding" shows 1
> 2) /proc/sys/net/ipv4/conf/all/forwarding set to 1 (for tunnels either)
> 3) Unfortunately everything is encapsulated with IPSec so tcpdump
> didn't help me.
> 4) Trying to launch client on the same machine as router
>
> I used Ubuntu 10.04.2 LTS image from Canonical with 2.6.32-312-ec2
> kernel for this test, xorp version 1.6. Unfortunately I cannot exactly
> determine exact config options, but since this is image provided by
> Canonical there should be original Ubuntu kernel which has all the
> options enabled.
>
> In addition I tried to configure pimd since it seemed more lightweight
> at that moment but ended with the same result except that It was
> harder to debug with no documentation (test cases for PIM-SM provided
> by xorp are really good).
>
> Also I'd like to know how to configure xorp so running multicast
> client on the router would be possible.

You might try xorp.ct, but I'm not sure if it will help your
particular problem.

Also, perhaps the problem is that you are not
using spt?  I think that keeps traffic out of
the kernel routing tables and just uses messages
sent directly to/from the router processes.

switch-to-spt-threshold {
             disable: true
}

Thanks,
Ben

>
> Thanks in advance.
> --
> WBR, Andriy Senkovych
>
>
>
> _______________________________________________
> Xorp-users mailing list
> Xorp-users at xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users


-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-users mailing list