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

Andriy Senkovych andriysenkovych at gmail.com
Wed Feb 9 05:52:58 PST 2011


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.

Thanks in advance.
--
WBR, Andriy Senkovych
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.boot
Type: application/octet-stream
Size: 1899 bytes
Desc: not available
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20110209/0344385d/attachment.obj 


More information about the Xorp-users mailing list