[Xorp-users] Questions on multicast routing

Ben Greear greearb at candelatech.com
Mon Jun 29 16:51:28 PDT 2009


I am trying to figure out why multicast is taking the 'long' way through the
network.

My network diagram is attached.  The xorp output below is from router 2 (the top one).

I am generating mcast traffic from Node2 interface to Node3.  I would expect it to
go through the link between R2 and R3, but instead it goes R2 -> R1 -> R3.  My traffic
flow is 64k, so I think it's using xorp user-space routing instead of setting up
a kernel cache.

I have hacked on multicast to support multiple routing tables, so it could
be my bug, but I'd still appreciate any pointers to what might be going wrong
if anyone has any ideas!

I'll be happy to send any other information, just ask.

root at nehalem> show pim
`pim' is ambiguous.
Possible completions:
   bootstrap            Display information about PIM IPv4 bootstrap routers
   interface            Display information about PIM IPv4 interfaces
   join                 Display information about PIM IPv4 groups
   mfc                  Display information about PIM Multicast Forwarding Cache
   mrib                 Display MRIB IPv4 information inside PIM
   neighbors            Display information about PIM IPv4 neighbors
   rps                  Display information about PIM IPv4 RPs
   scope                Display information about PIM IPv4 scope zones
root at nehalem> show pim interface
Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
1.2.2        UP       Sparse 2 DR            125 10.1.2.2                1
2.3.2        UP       Sparse 2 NotDR         125 10.2.3.3                1
br2          UP       Sparse 2 DR            125 10.2.2.2                0
my_discard   DISABLED Sparse 2 NotDR           1 0.0.0.0                 0
register_vif UP       Sparse 2 DR              1 10.2.2.2                0
root at nehalem> show pim mrib
DestPrefix         NextHopRouter   VifName VifIndex MetricPref Metric
10.1.1.0/24        10.1.2.1        1.2.2   0               254      3
10.1.2.0/24        10.1.2.2        1.2.2   0                 0      0
10.1.3.0/24        10.1.2.1        1.2.2   0               254      4
10.2.2.0/24        10.2.2.2        br2     2                 0      0
10.2.3.0/24        10.2.3.2        2.3.2   1                 0      0
root at nehalem> show pim rps
RP              Type      Pri Holdtime Timeout ActiveGroups GroupPrefix
root at nehalem> show pim rps
RP              Type      Pri Holdtime Timeout ActiveGroups GroupPrefix
10.1.1.1        bootstrap 101      150     145            0 224.0.0.0/4
10.3.3.3        bootstrap 103      150     145            0 224.0.0.0/4
10.2.2.2        bootstrap 102      150     145            0 224.0.0.0/4
root at nehalem> show pim mrib
DestPrefix         NextHopRouter   VifName VifIndex MetricPref Metric
10.1.1.0/24        10.1.2.1        1.2.2   0               254      3
10.1.2.0/24        10.1.2.2        1.2.2   0                 0      0
10.1.3.0/24        10.2.3.3        2.3.2   1               254      3
10.2.2.0/24        10.2.2.2        br2     2                 0      0
10.2.3.0/24        10.2.3.2        2.3.2   1                 0      0
10.3.3.0/24        10.2.3.3        2.3.2   1               254      2
root at nehalem> show pim mfc
Group           Source          RP
224.10.10.1     10.2.2.253      10.1.1.1
     Incoming interface :      br2
     Outgoing interfaces:      ....O
root at nehalem> show pim neighbors
Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
1.2.2               125 10.1.2.1        2 Sparse      105      99
2.3.2               125 10.2.3.3        2 Sparse      105      77
root at nehalem> show pim mrib
DestPrefix         NextHopRouter   VifName VifIndex MetricPref Metric
10.1.1.0/24        10.1.2.1        1.2.2   0               254      3
10.1.2.0/24        10.1.2.2        1.2.2   0                 0      0
10.1.3.0/24        10.2.3.3        2.3.2   1               254      3
10.2.2.0/24        10.2.2.2        br2     2                 0      0
10.2.3.0/24        10.2.3.2        2.3.2   1                 0      0
10.3.3.0/24        10.2.3.3        2.3.2   1               254      2
root at nehalem>


[root at nehalem lanforge]# tshark -n -i 1.2.2
Running as user "root" and group "root". This could be dangerous.
Capturing on 1.2.2
   0.000000     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.145744     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.292327     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.441116     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.585402     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.730664     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.877894     10.1.2.2 -> 10.1.1.1     PIMv2 Register


[root at nehalem lanforge]# tshark -n -i 1.2.1
Running as user "root" and group "root". This could be dangerous.
Capturing on 1.2.1
   0.000000     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.000001 00:f3:9d:ac:a5:fb -> 00:22:c0:12:1d:44 ARP Who has 10.1.2.1?  Tell 10.1.2.2
   0.000092 00:22:c0:12:1d:44 -> 00:f3:9d:ac:a5:fb ARP 10.1.2.1 is at 00:22:c0:12:1d:44
   0.184021     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.361942     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.361944     10.1.2.2 -> 224.0.0.5    OSPF Hello Packet
   0.361945     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.542985     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.723988     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   0.905965     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   1.089988     10.1.2.2 -> 10.1.1.1     PIMv2 Register
   1.089990     10.1.2.2 -> 10.1.1.1     PIMv2 Register


[root at nehalem lanforge]# tshark -n -i 2.3.2
Running as user "root" and group "root". This could be dangerous.
Capturing on 2.3.2
   0.000000     10.2.3.3 -> 224.0.0.5    OSPF Hello Packet
   3.868836     10.2.3.2 -> 224.0.0.5    OSPF Hello Packet
  10.033968     10.2.3.3 -> 224.0.0.5    OSPF Hello Packet
  13.868846     10.2.3.2 -> 224.0.0.5    OSPF Hello Packet


root at nehalem> configure
Entering configuration mode.
There are no other users in configuration mode.
[edit]
root at nehalem# show
     protocols {
         fib2mrib {
         }
         igmp {
             interface br2 {
                 vif br2 {
                 }
             }
             interface "1.2.2" {
                 vif "1.2.2" {
                 }
             }
             interface "2.3.2" {
                 vif "2.3.2" {
                 }
             }
             traceoptions {
                 flag {
                     all {
                     }
                 }
             }
         }
         ospf4 {
             router-id: 127.1.0.2
             area 0.0.0.0 {
                 interface br2 {
                     vif br2 {
                         address 10.2.2.2 {
                         }
                     }
                 }
                 interface "1.2.2" {
                     vif "1.2.2" {
                         address 10.1.2.2 {
                             interface-cost: 2
                         }
                     }
                 }
                 interface "2.3.2" {
                     vif "2.3.2" {
                         address 10.2.3.2 {
                         }
                     }
                 }
             }
         }
          pimsm4 {
             interface br2 {
                 vif br2 {
                     dr-priority: 125
                 }
             }
             interface "1.2.2" {
                 vif "1.2.2" {
                     dr-priority: 125
                 }
             }
             interface "2.3.2" {
                 vif "2.3.2" {
                     dr-priority: 125
                 }
             }
             interface "register_vif" {
                 vif "register_vif" {
                 }
             }
             bootstrap {
                 cand-bsr {
                     scope-zone 224.0.0.0/4 {
                         cand-bsr-by-vif-name: "br2"
                         bsr-priority: 198
                     }
                 }
                 cand-rp {
                     group-prefix 224.0.0.0/4 {
                         cand-rp-by-vif-name: "br2"
                         rp-priority: 102
                     }
                 }
             }
             switch-to-spt-threshold {
                 bytes: 1024000
             }
         }
         static {
             interface-route 0.0.0.0/0 {
                 next-hop-interface: "my_discard"
                 next-hop-vif: "my_discard"
             }
         }
     }
     fea {
         unicast-forwarding4 {
             table-id: 10002
         }
     }
     interfaces {
         interface "my_discard" {
             unreachable: true
             vif "my_discard" {
             }
         }
         interface br2 {
             vif br2 {
                 address 10.2.2.2 {
                     prefix-length: 24
                 }
             }
         }
         interface "1.2.2" {
             vif "1.2.2" {
                 address 10.1.2.2 {
                     prefix-length: 24
                 }
             }
         }
         interface "2.3.2" {
             vif "2.3.2" {
                 address 10.2.3.2 {
                     prefix-length: 24
                 }
             }
         }
     }
     plumbing {
         mfea4 {
             interface br2 {
                 vif br2 {
                 }
             }
             interface "1.2.2" {
                 vif "1.2.2" {
                 }
             }
             interface "2.3.2" {
                 vif "2.3.2" {
                 }
             }
             interface "register_vif" {
                 vif "register_vif" {
                 }
             }
         }
     }


Thanks,
Ben

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: out.pdf
Type: application/pdf
Size: 114821 bytes
Desc: not available
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20090629/6675ad1f/attachment-0001.pdf 


More information about the Xorp-users mailing list