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

matt bernstein mgbernstein at gmail.com
Sat Jun 9 15:25:00 PDT 2007


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.

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
    }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20070609/b94b6225/attachment-0001.html 


More information about the Xorp-users mailing list