[Xorp-users] Well - I'm half working....

Dave Price dave.price@aber.ac.uk
Wed, 21 Jul 2004 10:56:20 +0100


Dear Pavli, edrt, Mark and All (and Hefin so you can check
	if my cisco remarks are indeed o.k.),

I'm trying to plough my way through the list of replies
from you all that have arrived here overnight.


pavlin@icir.org said:
> Actually, I think that 146.97.34.8 is not the address of rl3, hence
> the XORP router is not the RP.

The XORP router is not the RP, the RP is many router hops
away from me, but the unicast route to it
from the XORP box is via the same cisco box
that acts as the PIM-SM router neighbour upstream too.

The RP is 146.97.34.8 and this will be reached via rl3
which leads to the cisco box that is both the PIM-SM
upstream neighbour and is also set as the unicast default route
on the xorp box.

Xorp> show pim rps
RP              Type      Pri Holdtime Timeout ActiveGroups GroupPrefix       
146.97.34.8     static    192       -1      -1            8 224.0.0.0/4       
Xorp> 

pavlin@icir.org said:
> Dave, please send the output of the "show pim interface" and "show pim
> interface address" commands to confirm that.

Xorp> show pim interface
Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
lo0          DISABLED Sparse 2 NotDR           1 0.0.0.0                 0
rl0          UP       Sparse 2 DR              1 193.60.15.40            0
rl1          UP       Sparse 2 DR              1 193.60.10.90            0
rl2          UP       Sparse 2 DR              1 193.60.11.33            0
rl3          UP       Sparse 2 NotDR           1 144.124.35.253          2
register_vif UP       Sparse 2 DR              1 0.0.0.0                 0
Xorp> 

Xorp> show pim interface address
Interface    PrimaryAddr     DomainWideAddr  SecondaryAddr  
lo0          0.0.0.0         0.0.0.0                        
rl0          193.60.15.40    193.60.15.40                   
rl1          193.60.10.90    193.60.10.90                   
rl2          193.60.11.33    193.60.11.33                   
rl3          144.124.34.30   144.124.34.30                  
register_vif 144.124.34.30   144.124.34.30                  
Xorp> 

Now, as I commented earlier, this cisco box has two routing
engines installed.  The xorp's IP address to that connection to
the cisco box is 144.124.34.30 as you can see from the above.
The two routing engines have their own real IP addresses
of 144.124.35.252 and 144.124.35.253.  But the idea is that one or
other of them is supposed to adopt the address 144.124.34.254
at any point in time.   All other machines get told that the
default unicast router address is actually 144.124.34.254
and one or other of the routing engines services that.

I wonder if the trouble is that although I've set the default
mrib-route4 0.0.0.0/0 {
>             metric: 1
>             nexthop: 144.124.35.254
>         }

the PIM neighbours actually get shown as 

Xorp> show pim neighbors  
Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
rl3                none 144.124.35.252  2 Sparse      105      94
rl3                none 144.124.35.253  2 Sparse      105      94
Xorp> 

i.e. the two underlying IP addresses of the routing engines
rather tha the common 144.124.35.254 that are supposed
to service in a hot-standby type manner.

Eddy asked for output of show pim bootstrap

Xorp> show pim bootstrap
Active zones:
BSR             Pri LocalAddress    Pri State           Timeout SZTimeout
Expiring zones:
BSR             Pri LocalAddress    Pri State           Timeout SZTimeout
Configured zones:
BSR             Pri LocalAddress    Pri State           Timeout SZTimeout
Xorp> 


pavlin@icir.org said:
> The reason that other sites are seeing your multicast beacon packets
> is because your XORP multicast router is unicasting them encapsulated
> within PIM Register packets. Those packets are sent directly to the
> RP, and don't depend on any other multicast routers [see below].

I'm not sure.   If I run tcpdump on rl3 on the XORP box
I see...

LiveCD# tcpdump -n -v -i rl3
tcpdump: listening on rl3
10:53:47.884674 193.60.11.36.59810 > 233.3.18.1.56786: [udp sum ok] udp 51 (ttl 126, id 11069, len 79)
10:53:47.993499 193.60.11.36.59810 > 233.3.18.1.56786: [udp sum ok] udp 51 (ttl 126, id 11070, len 79)
10:53:48.103472 193.60.11.36.59810 > 233.3.18.1.56786: [udp sum ok] udp 51 (ttl 126, id 11071, len 79)

Surely those packets really are being sent out by multicast at that stage are
they not?   Or am I misinterpreting the tcpdump output??

pavlin@icir.org said:
> The problem is that the RPF'(*,G) entry is UNKNOWN, therefore the PIM
> Join messages aren't sent. This entry is suppose to point to the
> next-hop router toward the RP (146.97.34.8). >From your "show pim
> mrib" output it appears that the next-hop router toward the RP should
> be 144.124.35.254. However, the "show pim neighbors" output does not
> show a neighbor with such IP address. Therefore, it is question of
> finding why you don't have a PIM neighbor with IP address of
> 144.124.35.254.

I chatted about this above.  Becuase of the two router
engines in the cisco box, it appears they are using their
"real" IP addresses of 144.124.35.252 and 253 when becoming neighbours
whereas, in at leats the unicast world, one or the other routing engine
at any one time is suppsoed to adopt 144.124.35.254

Do you think this is the real underlying cause of my problems??


pavlin@icir.org said:
> * Run tcpdump on the rl3 interface and look for PIM Hello messages
>   from 144.124.35.254

LiveCD# tcpdump -n -v -i rl3 | grep -i PIM
tcpdump: listening on rl3
10:58:49.216976 144.124.35.253 > 224.0.0.13: pim v2 Join/Prune upstream-neighbor=144.124.34.30 groups=1 holdtime=3m30s (group0: 233.3.18.1 join=1 193.60.11.36(S) prune=0) [tos 0xc0]  [ttl 1] (id 
10627, len 54)
10:58:50.220779 193.60.11.33 > 146.97.34.8: pim v2 Register N 193.60.11.36 > 233.3.18.1:  [ttl 0] (id 0, len 20) (ttl 64, id 30487, len 48)
10:58:50.910874 144.124.34.30 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [Hello option 2] (DR-Priority: 1) (Genid: 0x7fc06bf2) [tos 0xc0]  [ttl 1] (id 30578, len 58, optlen=4 RA)
10:59:01.218104 144.124.35.253 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [tos 0xc0]  [ttl 1] (id 10831, len 30)
10:59:01.633067 144.124.35.252 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [tos 0xc0]  [ttl 1] (id 12107, len 30)
10:59:20.915313 144.124.34.30 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [Hello option 2] (DR-Priority: 1) (Genid: 0x7fc06bf2) [tos 0xc0]  [ttl 1] (id 33287, len 58, optlen=4 RA)
10:59:30.221702 144.124.35.253 > 224.0.0.13: pim v2 Join/Prune upstream-neighbor=144.124.34.30 groups=1 holdtime=3m30s (group0: 224.2.127.254 join=2 193.60.11.36(S) 193.60.11.49(S) prune=0) [tos 
0xc0]  [ttl 1] (id 11272, len 62)
10:59:31.221568 144.124.35.253 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [tos 0xc0]  [ttl 1] (id 11288, len 30)
10:59:31.636573 144.124.35.252 > 224.0.0.13: pim v2 Hello (Hold-time 1m45s) [tos 0xc0]  [ttl 1] (id 12470, len 30)
^CLiveCD# 

as I have mentioned, there are the "real" IP addresses of the two router engines.


pavlin@icir.org said:
> * Enable the traceoptions debug messages and look for PIM-SM debug
>   messages like:
> [ 2004/07/20 20:54:24 TRACE test_pim PIM ] RX PIM_HELLO from 10.3.0.2
> to 224.0.0.13 on vif dc1

exactly where do I lok to find them??   I've altered config
to say "true" in the traceoptions for MFEA and for pimsm4
but where exactly do the debug messages go?

pavlin@icir.org said:
> BTW, does the upstream router 144.124.35.254 has more than one IP
> addresses assigned on that interface?

yes, as I explained above.  Two "real" IP addresses one per routing engine
and then another they are supposed to share, but as goes PIM, it seems they both kee
going with their own IP addresses and do not seem
to adopt the common one.


pavlin@icir.org said:
> Also, if tcpdump shows there are PIM Hello messages from
> 144.124.35.254, can you send the tcpdump of one of those messages.

As shown above, mesasages are from two separate routing engines.


pavlin@icir.org said:
> The above MFC entry is OK. It is for your directly connected source
> 193.60.11.36. And yes, the "O" is set for the outgoing interfaces. I
> guess in your case the only interface with "O" is the register_vif. To
> confirm that, can you send the output of "show pim interface" and
> "show mfea interface".

Xorp> show pim interface
Interface    State    Mode   V PIMstate Priority DRaddr          Neighbors
lo0          DISABLED Sparse 2 NotDR           1 0.0.0.0                 0
rl0          UP       Sparse 2 DR              1 193.60.15.40            0
rl1          UP       Sparse 2 DR              1 193.60.10.90            0
rl2          UP       Sparse 2 DR              1 193.60.11.33            0
rl3          UP       Sparse 2 NotDR           1 144.124.35.253          2
register_vif UP       Sparse 2 DR              1 0.0.0.0                 0
Xorp> 


Xorp> show mfea interface 
Interface    State    Vif/PifIndex Addr            Flags
lo0          DISABLED          0/9                 LOOPBACK MULTICAST KERN_UP
rl0          UP                1/1 193.60.15.40    MULTICAST BROADCAST KERN_UP
rl1          UP                2/2 193.60.10.90    MULTICAST BROADCAST KERN_UP
rl2          UP                3/3 193.60.11.33    MULTICAST BROADCAST KERN_UP
rl3          UP                4/4 144.124.34.30   MULTICAST BROADCAST KERN_UP
register_vif UP                5/4 144.124.34.30   PIM_REGISTER KERN_UP
Xorp> 

wheras of course, 

Xorp> show pim mrib  
DestPrefix         NextHopRouter   VifName VifIndex MetricPref Metric
0.0.0.0/0          144.124.35.254  rl3     4                 1      1
144.124.32.0/22    144.124.34.30   rl3     4                 0      0
193.60.10.0/24     193.60.10.90    rl1     2                 0      0
193.60.11.0/24     193.60.11.33    rl2     3                 0      0
193.60.15.0/24     193.60.15.40    rl0     1                 0      0
Xorp> 


Is the real underlying problem this confusion
over 144.134.35.{252,253,254} ???

Thanks for help so far folks...

Dave Price