Re: Mroute RPF neighbor help needed

From: Nambi Appachigounder (nambi_gct@yahoo.co.in)
Date: Sun Jan 22 2006 - 10:49:15 GMT-3


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_chapter09186a00805a595a.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