[Xorp-users] multicast routing and pim-sm on linux 2.6 problems

Pavlin Radoslavov pavlin at icir.org
Mon Jun 11 15:18:48 PDT 2007


matt bernstein <mgbernstein at gmail.com> wrote:

> Hi guys,
> 
> I've been desperately trying to get multicast routing working with kernel
> 2.6 and pim-sm but to no avail. I'm trying to become a listener on an
> internal multicast feed but striking out. I am currently using xorp cvs, and
> any help is greatly appreciated.

When exactly did you checkout the XORP-CVS code?
During recent FEA refactoring there was a window of time when the
IGMP support on Linux was broken, but this was fixed around June 1.
Make sure that you get the latest XORP CVS code as of today
and see whether "show igmp group" will show that host A is a
receiver for group 233.76.146.4 on eth0.

If you still cannot see it, then run tcpdump on eth0 and make sure
that the host is indeed sending IGMP Join messages for group
233.76.146.4.

Regards,
Pavlin

> Details of my configuration are as follows.
> 
> Topology
> 
> [host A 10.49.49.230/28] --  10.49.49.232/28  [ host B xorp router ]
> 10.49.49.222/28 --  10.49.49.210/211 [ cisco hsrp router] -- multicast
> networks
> 
> 
> 
> Host A is trying to subscribe and recieve data from multicast group
> 233.76.146.4
> 
> RP for the network is 10.48.254.14 via 10.49.49.210/211
> real sources servers are 10.49.48.128/27 via 10.49.49.210/211
> 
> my routes go to the real ips, not the hsrp ips.
> 
> As far as I can tell host A is running igmp v3 on interface eth0 so I
> matched igmp v3 on host B eth0.  I can see igmp messages being exchanged
> between the hosts. Although in the output below the multicast group does not
> show up in the igmp groups.
> 
> If i run multicast client/server on host A and host B on the same network
> they can communicate.
> 
> Any help is appreciated, thanks.
> 
> The following output is generated by xorp on multicast join from host A,
> emcast 233.76.146.4
> 
> 
> 
> show pim join
> Group           Source          RP              Flags
> 224.0.1.40      0.0.0.0          10.48.254.14    WC
>     Upstream interface (RP):   eth1
>     Upstream MRIB next hop (RP): 10.49.49.211
>     Upstream RPF'(*,G):        10.49.49.211
>     Upstream state:            Joined
>     Join timer:                13
>     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:        .O.
>     Could assert WC:           ...
>     I am DR:                   OOO
>     Immediate olist RP:        ...
>     Immediate olist WC:        .O.
>     Inherited olist SG:        .O.
>     Inherited olist SG_RPT:    .O.
>     PIM include WC:            .O.
> 233.76.146.4     10.49.49.230    10.48.254.14    SG SPT DirectlyConnectedS
>     Upstream interface (S):    eth0
>     Upstream interface (RP):   eth1
>     Upstream MRIB next hop (RP): 10.49.49.211
>     Upstream MRIB next hop (S):  UNKNOWN
>     Upstream RPF'(S,G):        UNKNOWN
>     Upstream state:            Joined
>     Register state:            RegisterJoin RegisterCouldRegister
>     Join timer:                6
>     KAT(S,G) running:          true
>     Local receiver include WC: ...
>     Local receiver include SG: ...
>     Local receiver exclude SG: ...
>     Joins RP:                  ...
>     Joins WC:                  ...
>     Joins SG:                  ..O
>     Join state:                ..O
>     Prune state:               ...
>     Prune pending state:       ...
>     I am assert winner state:  ...
>     I am assert loser state:   ...
>     Assert winner WC:          ...
>     Assert winner SG:          ...
>     Assert lost WC:            ...
>     Assert lost SG:            ...
>     Assert lost SG_RPT:        ...
>     Assert tracking SG:        O.O
>     Could assert WC:           ...
>     Could assert SG:           ..O
>     I am DR:                   OOO
>     Immediate olist RP:        ...
>     Immediate olist WC:        ...
>     Immediate olist SG:        ..O
>     Inherited olist SG:        ..O
>     Inherited olist SG_RPT:    ...
>     PIM include WC:            ...
>     PIM include SG:            ...
>     PIM exclude SG:            ...
> 
> 
> show pim mfc
> Group           Source          RP
> 233.76.146.4    10.49.49.230    10.48.254.14
>     Incoming interface :      eth0
>     Outgoing interfaces:      ..O
> 
> show pim neighbors
> Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
> eth1                  1 10.49.49.210    2 Sparse      105      80
> eth1                  1 10.49.49.211    2 Sparse      105      81
> 
> show igmp group
> Interface    Group           Source          LastReported Timeout V State
> eth0         224.0.0.2        0.0.0.0         10.49.49.232     151 3     E
> eth0         224.0.0.13      0.0.0.0         10.49.49.232     151 3     E
> eth0         224.0.0.22      0.0.0.0         10.49.49.232     151 3     E
> eth1         224.0.0.2       0.0.0.0         10.49.49.222     221 2     E
> eth1         224.0.0.13       0.0.0.0         10.49.49.222     225 2     E
> eth1         224.0.0.22      0.0.0.0         10.49.49.222     222 2     E
> eth1         224.0.1.40      0.0.0.0         10.49.49.210     230 2     E
> 
> cat ip_mr_cache
> Group    Origin   Iif     Pkts    Bytes    Wrong Oifs
> 04924CE9 E631310A 0          2       66        0  2:1
> 
> cat ip_mr_vif
> Interface      BytesIn  PktsIn  BytesOut PktsOut Flags Local    Remote
>  0 eth0            355      11         0       0 00000 E831310A 00000000
>  1 eth1             64       2       161       5 00000 DE31310A 00000000
>  2 pimreg            0       0       355      11 00004 E831310A 00000000
> 
> rp_filter is 0
> mc_forwarding is 1
> ip_forwardig is 1
> 
> static routes exist to the RP / source subnets
> 224 subnet on eth0
> 
> Xorp is configured on host B as follows:
> 
> interfaces {
>     restore-original-config-on-shutdown: false
>     interface eth0 {
>         description: "manage interface"
>         disable: false
>         default-system-config
>     }
> 
> interface eth1 {
>         description: "data interface"
>         disable: false
>         default-system-config
>    }
>    }
> 
> 
> fea {
>     unicast-forwarding4 {
>         disable: false
>         }
>     }
> 
> plumbing {
>     mfea4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>             disable: false
>            }
>            }
> 
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 disable: false
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> 
> }
> 
> protocols {
>        static {
>         mrib-route 10.49.48.128/27 {
>             next-hop: 10.49.49.210
>             metric: 1
>         }
>         mrib-route 10.49.48.128/27 {
>             next-hop: 10.49.49.211
>             metric: 2
>         }
> 
>         mrib-route 10.48.254.14/32 {
>             next-hop: 10.49.49.210
>             metric: 1
>          }
>         mrib-route 10.48.254.14/32 {
>             next-hop: 10.49.49.211
>             metric: 2
>          }
> 
> }
> }
> 
> 
> protocols {
>     igmp {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 version: 3
>                 }
>             }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 version: 2
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> 
> protocols {
>     pimsm4 {
>         disable: false
>         interface  eth0 {
>             vif eth0 {
>                 disable: false
>                 }
>               }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.49.48.128/27 */
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
> 
>         static-rps {
>             rp 10.48.254.14 {
>                 group-prefix 224.0.0.0/4 {
>                     rp-priority: 1
>                     /* hash-mask-len: 30 */
>                 }
>             }
>         }
> 
> 
>         switch-to-spt-threshold {
>             /* approx. 1K bytes/s (10Kbps) threshold */
>             disable: false
>             interval: 100
>             bytes: 102400
>         }
> 
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> 
> }
> 
> protocols {
>     fib2mrib {
>         disable: false
>     }
> }
> _______________________________________________
> Xorp-users mailing list
> Xorp-users at xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users



More information about the Xorp-users mailing list