RE: Mroute RPF neighbor help needed

From: Scott Morris (swm@emanon.com)
Date: Sun Jan 22 2006 - 15:07:22 GMT-3


You can also look at "ip multicast multipath" to help you out.

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
Nambi Appachigounder
Sent: Sunday, January 22, 2006 8:49 AM
To: Henk de Tombe; 'ccielab@groupstudy.com'
Subject: Re: Mroute RPF neighbor help needed

If you have more then one path ,the RPF neighbor with highest IP address
will be chosen.That is why you always have 172.16.234.4 as RPF neighbor.

From RFC 2362,

      1 Downstream routers will select the upstream router with the
        smallest metric preference and metric as their RPF neighbor. If
        two metrics are the same, the highest network layer address is
        chosen to break the tie. This is important so that downstream
        routers send subsequent Joins/Prunes (in SM) to the correct
        neighbor. An Assert-timer is initiated when changing the RPF
        neighbor to the Assert winner. When the timer expires, the
        router resets its RPF neighbor according to its unicast routing
        tables to capture network dynamics and router failures.

"If two or more equal-cost paths from a source are available, unicast
traffic will be load split across those paths. However, by default,
multicast traffic is not load split across multiple equal-cost paths. In
general, multicast traffic flows down from the Reverse Path Forwarding (RPF)
neighbor. According to Protocol Independent Multicast (PIM) specifications,
this neighbor must have the highest IP address if more than one neighbor has
the same metric."

Please check the configuration guide for more details.
http://www.cisco.com/en/US/products/ps6350/products_configuration_guide_chap
ter09186a00805a595a.html#wp1064123

Thanks
Nambi.

--- Henk de Tombe <henk.de.tombe@qi.nl> wrote:

> Hi Group,
>
> I would appreciate your help with the following:
>
> R1 learns the network 172.16.234.0/24 via
> 172.16.234.3 and 172.16.234.4. My
> question is about changing the RPF neighbor for a specific S,G entry.
> See my configuration steps below and the problem I face.
>
>
>
> conf t
> Enter configuration commands, one per line. End with CNTL/Z.
> Rack1R1(config)#
> Rack1R1(config)#s do sir
> Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
> D - EIGRP, EX - EIGRP external, O - OSPF, IA
> - OSPF inter area
> N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
> E1 - OSPF external type 1, E2 - OSPF external type 2
> i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS
> inter area
> * - candidate default, U - per-user static route, o - ODR
> P - periodic downloaded static route
>
> Gateway of last resort is not set
>
> 172.16.0.0/16 is variably subnetted, 7 subnets,
> 2 masks
> O E2 172.16.234.0/24 [110/20] via 172.16.123.4,
> 00:11:54, Serial0/0
> <--------
> [110/20] via 172.16.123.3, 00:11:54, Serial0/0
> <--------
> C 172.16.40.0/24 is directly connected,
> FastEthernet0/0
> C 172.16.30.0/24 is directly connected,
> Loopback0
> O E2 172.16.10.0/24 [110/20] via 172.16.123.4,
> 00:11:54, Serial0/0
> [110/20] via 172.16.123.3, 00:11:54, Serial0/0
> O 172.16.123.4/32 [110/64] via 172.16.123.4,
> 00:11:54, Serial0/0
> O 172.16.123.3/32 [110/64] via 172.16.123.3,
> 00:11:55, Serial0/0
> C 172.16.123.0/24 is directly connected,
> Serial0/0
> 150.1.0.0/24 is subnetted, 1 subnets
> O E2 150.1.8.0 [110/20] via 172.16.40.7,
> 00:11:55, FastEthernet0/0
>
>
>
>
>
> Router R4 is on subnet 172.16.234.0/24 and would like to join
> multicastgroup
> 224.111.111.111 on a router behind R1's fastethernetinterface. As you
> can see in the mroute table below 172.16.234.4/32 is registered as
> source via RPF neighbor 172.16.234.4.
>
>
>
> Everything works fine and I can send ICMP packets to group
> 224.111.111.111
>
> Rack1R1(config)#do sim 224.111.111.111 IP Multicast Routing Table
> Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C -
> Connected,
> L - Local, P - Pruned, R - RP-bit set, F - Register flag,
> T - SPT-bit set, J - Join SPT, M - MSDP created entry,
> X - Proxy Join Timer Running, A - Candidate for MSDP
> Advertisement,
> U - URD, I - Received Source Specific Host Report, Z -
> Multicast Tunnel
> Y - Joined MDT-data group, y - Sending to MDT-data group
> Outgoing interface flags: H - Hardware switched
> Timers: Uptime/Expires
> Interface state: Interface, Next-Hop or VCD, State/Mode
>
> (*, 224.111.111.111), 00:03:23/stopped, RP 150.1.8.8, flags: SP
> Incoming interface: FastEthernet0/0, RPF nbr
> 172.16.40.7
> Outgoing interface list: Null
>
> (172.16.10.4, 224.111.111.111), 00:03:23/00:00:29,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:03:23/00:03:07
>
> (172.16.234.4, 224.111.111.111), 00:03:23/00:00:29,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4 <----------
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:03:24/00:03:05
>
>
> I would like to change the RPF interface to
> 172.16.234.3 for S,G
> (172.16.234.4, 224.111.111.111).
> I've tried to do this with the command "ip route"
>
>
> Rack1R1(config)#ip route 172.16.234.4
> 255.255.255.255 172.16.123.3
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)#do sim 224.111.111.111
>
> IP Multicast Routing Table
> Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C -
> Connected,
> L - Local, P - Pruned, R - RP-bit set, F - Register flag,
> T - SPT-bit set, J - Join SPT, M - MSDP created entry,
> X - Proxy Join Timer Running, A - Candidate for MSDP
> Advertisement,
> U - URD, I - Received Source Specific Host Report, Z -
> Multicast Tunnel
> Y - Joined MDT-data group, y - Sending to MDT-data group
> Outgoing interface flags: H - Hardware switched
> Timers: Uptime/Expires
> Interface state: Interface, Next-Hop or VCD, State/Mode
>
> (*, 224.111.111.111), 00:03:38/stopped, RP 150.1.8.8, flags: SP
> Incoming interface: FastEthernet0/0, RPF nbr
> 172.16.40.7
> Outgoing interface list: Null
>
> (172.16.10.4, 224.111.111.111), 00:03:38/00:00:14,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:03:38/00:02:51
>
> (172.16.234.4, 224.111.111.111), 00:03:38/00:00:14,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.3 <------------
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:03:39/00:02:50
>
>
> The RPF nbr is changed to 172.16.123.3. When I delete the static route
> the RPF nbr for that S,G entry is 172.16.123.4 again.
>
>
> Rack1R1(config)#no ip route 172.16.234.4
> 255.255.255.255 172.16.123.3
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)#do sim 224.111.111.111 IP Multicast Routing Table
> Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C -
> Connected,
> L - Local, P - Pruned, R - RP-bit set, F - Register flag,
> T - SPT-bit set, J - Join SPT, M - MSDP created entry,
> X - Proxy Join Timer Running, A - Candidate for MSDP
> Advertisement,
> U - URD, I - Received Source Specific Host Report, Z -
> Multicast Tunnel
> Y - Joined MDT-data group, y - Sending to MDT-data group
> Outgoing interface flags: H - Hardware switched
> Timers: Uptime/Expires
> Interface state: Interface, Next-Hop or VCD, State/Mode
>
> (*, 224.111.111.111), 00:16:40/stopped, RP 150.1.8.8, flags: SP
> Incoming interface: FastEthernet0/0, RPF nbr
> 172.16.40.7
> Outgoing interface list: Null
>
> (172.16.10.4, 224.111.111.111), 00:02:08/00:03:19,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:02:08/00:02:50
>
> (172.16.234.4, 224.111.111.111), 00:02:08/00:03:19,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4 <----------
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:02:09/00:02:49
>
>
>
> When I try to do the same with a mroute entry, the RPF nbr doesn't
> change, see the output below.
>
>
> Rack1R1(config)#ip route mroute 172.16.234.4
> 255.255.255.255 172.16.123.3
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)#do sh ip mroute static
> Mroute: 172.16.234.4/32, RPF neighbor: 172.16.123.3
> Protocol: none, distance: 0, route-map: none Rack1R1(config)#
> Rack1R1(config)# Rack1R1(config)#do sim 224.111.111.111 IP Multicast
> Routing Table
> Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C -
> Connected,
> L - Local, P - Pruned, R - RP-bit set, F - Register flag,
> T - SPT-bit set, J - Join SPT, M - MSDP created entry,
> X - Proxy Join Timer Running, A - Candidate for MSDP
> Advertisement,
> U - URD, I - Received Source Specific Host Report, Z -
> Multicast Tunnel
> Y - Joined MDT-data group, y - Sending to MDT-data group
> Outgoing interface flags: H - Hardware switched
> Timers: Uptime/Expires
> Interface state: Interface, Next-Hop or VCD, State/Mode
>
> (*, 224.111.111.111), 00:04:35/stopped, RP 150.1.8.8, flags: SP
> Incoming interface: FastEthernet0/0, RPF nbr
> 172.16.40.7
> Outgoing interface list: Null
>
> (172.16.10.4, 224.111.111.111), 00:00:26/00:03:25,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:00:26/00:03:03
>
> (172.16.234.4, 224.111.111.111), 00:00:26/00:03:25,
> flags: T
> Incoming interface: Serial0/0, RPF nbr
> 172.16.123.4 <------------ ?????
> Outgoing interface list:
> FastEthernet0/0, Forward/Sparse,
> 00:00:27/00:03:02
>
>
> I don't understand why the RPF neighbor doesn't change when I use
> mroute, but does change when I use the route command. The only thing I
> can imagine is that the load-balancing in the RIB is causing me
> troubles. Who can give me some tips or push me to the right direction
> on this one?
>
> Thanks for your time,
>
> Regards,
> Henk
>
> P.s. config and output below for extra clarity
>
> Rack1R1(config)#do sh ver | i IO
> IOS (tm) C2600 Software (C2600-IK9O3S3-M), Version 12.2(15)T17,
> RELEASE SOFTWARE (fc1)
>
>
> Rack1R1(config)#do sr int s0/0
> Building configuration...
>
> Current configuration : 294 bytes
> !
> interface Serial0/0
> ip address 172.16.123.1 255.255.255.0 ip pim nbma-mode ip pim
> sparse-mode encapsulation frame-relay no ip route-cache ip ospf
> network point-to-multipoint no ip mroute-cache no frame-relay
> inverse-arp IP 104 no frame-relay inverse-arp IP 105 no frame-relay
> inverse-arp IP 113 end
>
> Rack1R1(config)#do term len 0
> Rack1R1(config)#do sr
> Building configuration...
>
> Current configuration : 2179 bytes
> !
> version 12.2
> service timestamps debug datetime msec service timestamps log datetime
> msec no service password-encryption !
> hostname Rack1R1
> !
> logging queue-limit 100
> logging buffered 32768 debugging
> !
> memory-size iomem 10
> ip subnet-zero
> !
> !
> no ip domain lookup
> !
> ip multicast-routing
> ip audit notify log
> ip audit po max-events 100
> !
> !
> !
> !
> !
> !
> !
> !
> !
> !
> !
> !
> no voice hpi capture buffer
> no voice hpi capture destination
> !
> !
> mta receive maximum-recipients 0
> !
> !
> !
> !
> interface Loopback0
> ip address 172.16.30.1 255.255.255.0
> ip pim sparse-mode
> no ip route-cache
> ip ospf network point-to-point
> no ip mroute-cache
> !
> interface FastEthernet0/0
> ip address 172.16.40.1 255.255.255.0
> ip pim sparse-mode
> no ip route-cache
> no ip mroute-cache
> duplex auto
> speed auto
> !
> interface Serial0/0
> ip address 172.16.123.1 255.255.255.0 ip pim sparse-mode
> encapsulation frame-relay no ip route-cache ip ospf network
> point-to-multipoint no ip mroute-cache no frame-relay inverse-arp IP
> 104 no frame-relay inverse-arp IP 105 no frame-relay inverse-arp IP
> 113 !
> interface FastEthernet0/1
> no ip address
> shutdown
> duplex auto
> speed auto
> !
> interface Serial0/1
> no ip address
> shutdown
> !
> router ospf 1
> router-id 172.16.40.1
> log-adjacency-changes
> redistribute connected subnets
> network 172.16.40.1 0.0.0.0 area 0
> network 172.16.123.1 0.0.0.0 area 0
> distribute-list 99 out connected
> !
> ip http server
> no ip http secure-server
> ip classless
> !
> ip pim rp-address 150.1.8.8
> ip mroute 0.0.0.0 0.0.0.0 172.16.123.3 !
> !
> access-list 99 permit 172.16.0.0 0.0.62.0 !
> call rsvp-sync
> !
> !
> mgcp profile default
> !
> dial-peer cor custom
> !
> !
> !
> !
> alias exec sir show ip route
> alias exec siib show ip interface brief alias exec sip show ip
> protocol alias exec ct configure terminal alias exec sr show
> running-config alias exec cibs clear ip bgp * soft alias exec cim
> clear ip mroute * alias exec bbgp show run | begin router bgp alias
> exec bospf show run | begin router ospf alias exec beigrp show run |
> begin router eigrp alias exec brip show run | begin router rip alias
> exec son show ip ospf neigh alias exec sim show ip mroute !
> line con 0
> logging synchronous
> line aux 0
> line vty 0 4
> login
> !
> !
> end
>
> Rack1R1(config)#do sh frame map
> Serial0/0 (up): ip 172.16.123.3 dlci
> 103(0x67,0x1870), dynamic,
> broadcast,, status defined, active Serial0/0 (up): ip
> 172.16.123.4 dlci 102(0x66,0x1860), dynamic,
> broadcast,, status defined, active
>
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)# Rack1R1(config)#do sh frame pvc | I DLCI DLCI = 102,
> DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0 DLCI =
> 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0
> DLCI = 104, DLCI USAGE = LOCAL, PVC STATUS = INACTIVE, INTERFACE =
> Serial0/0 DLCI = 105, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE,
> INTERFACE = Serial0/0 DLCI = 113, DLCI USAGE = LOCAL, PVC STATUS =
> INACTIVE, INTERFACE = Serial0/0 Rack1R1(config)# Rack1R1(config)#
> Rack1R1(config)#do sir
> Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
> D - EIGRP, EX - EIGRP external, O - OSPF, IA
> - OSPF inter area
> N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
> E1 - OSPF external type 1, E2 - OSPF external type 2
> i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS
> inter area
> * - candidate default, U - per-user static route, o - ODR
> P - periodic downloaded static route
>
> Gateway of last resort is not set
>
> 172.16.0.0/16 is variably subnetted, 7 subnets,
> 2 masks
> O E2 172.16.234.0/24 [110/20] via 172.16.123.4,
> 00:14:12, Serial0/0
> [110/20] via 172.16.123.3, 00:14:12, Serial0/0
> C 172.16.40.0/24 is directly connected,
> FastEthernet0/0
> C 172.16.30.0/24 is directly connected,
> Loopback0
> O E2 172.16.10.0/24 [110/20] via 172.16.123.4,
> 00:14:12, Serial0/0
> [110/20] via 172.16.123.3, 00:14:12, Serial0/0
> O 172.16.123.4/32 [110/64] via 172.16.123.4,
> 00:14:12, Serial0/0
> O 172.16.123.3/32 [110/64] via 172.16.123.3,
> 00:14:14, Serial0/0
> C 172.16.123.0/24 is directly connected,
> Serial0/0
> 150.1.0.0/24 is subnetted, 1 subnets
> O E2 150.1.8.0 [110/20] via 172.16.40.7,
> 00:14:14, FastEthernet0/0
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)#
> Rack1R1(config)#do sh ip ospf data
>
> OSPF Router with ID (172.16.40.1) (Process ID 1)
>
> Router Link States (Area 0)
>
> Link ID ADV Router Age Seq#
> Checksum Link count
> 150.1.8.8 150.1.8.8 831
> 0x80000125 0x0012D2 1
> 172.16.40.1 172.16.40.1 872
> 0x80000003 0x00D60E 4
> 172.16.234.2 172.16.234.2 872
> 0x8000000D 0x00D153 2
> 172.16.234.3 172.16.234.3 872
> 0x8000000C 0x009F86 2
>
> Net Link States (Area 0)
>
> Link ID ADV Router Age Seq#
> Checksum
> 172.16.40.7 150.1.8.8 892
> 0x80000001 0x0061B7
>
> Type-5 AS External Link States
>
> Link ID ADV Router Age Seq#
> Checksum Tag
> 150.1.8.0 150.1.8.8 1340
> 0x80000103 0x001B3B 0
> 172.16.10.0 172.16.234.2 701
> 0x80000009 0x00339A 90
> 172.16.10.0 172.16.234.3 1783
> 0x80000001 0x003D97 90
> 172.16.30.0 172.16.40.1 903
> 0x80000001 0x00657A 0
> 172.16.234.0 172.16.234.2 701
> 0x80000008 0x008B62 90
> 172.16.234.0 172.16.234.3 807
> 0x80000007 0x008766 90
> Rack1R1(config)#
>
>



This archive was generated by hypermail 2.1.4 : Wed Feb 01 2006 - 07:45:50 GMT-3