cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1390
Views
0
Helpful
7
Replies

mismatch between routing and pim RPF

yuhuiyao
Level 1
Level 1

All,

I have the following on my router. Router A has two pathes to RP, one is from s1/3 (NH 14.0.0.4), the other is from s1/0 (NH 12.0.0.2). There seemed to have a split decision on routing and rpf. Routing chooses s1/0 (NH 12.0.0.2) while RPF chooses s1/3 (NH 14.0.0.4) Can anyone let me know why?

Thanks,

A#show ip rpf 3.3.3.3
RPF information for ? (3.3.3.3)
  RPF interface: Serial1/3
  RPF neighbor: ? (14.0.0.4)
  RPF route/mask: 3.3.3.3/32
  RPF type: unicast (ospf 65000)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables
A#show ip ro 3.3.3.3
Routing entry for 3.3.3.3/32
  Known via "ospf 65000", distance 110, metric 129, type intra area
  Last update from 14.0.0.4 on Serial1/3, 00:54:28 ago
  Routing Descriptor Blocks:
    14.0.0.4, from 3.3.3.3, 00:54:28 ago, via Serial1/3
      Route metric is 129, traffic share count is 1
  * 12.0.0.2, from 3.3.3.3, 00:54:28 ago, via Serial1/0
      Route metric is 129, traffic share count is 1

A#show ip cef
A#show ip cef ex
A#show ip cef exact-route 1.1.1.1 3.3.3.3
1.1.1.1         -> 3.3.3.3        : Serial1/0 (next hop 12.0.0.2)

2 Accepted Solutions

Accepted Solutions

Lei Tian
Cisco Employee
Cisco Employee

Hi,

From your show ip route output, I can see you have 2 equal path for that prefix. On that case, PIM will use the PIM neighbor with higher IP as the RPF neighbor. Please check the link

http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6552/ps6592/whitepaper_c11-474791.html

HTH,

Lei Tian

View solution in original post

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Yuhui,

this is a typical situation with PIM.

unicast routing supports load balancing and install two routes of equal cost.

sh ip cef exact-route provides the exit interface that would be used given a flow with specific SA and specific DA, so one link of the two is used.

CEF uses an exor of IP SA, IP DA and an hash seed to calculate the exit link

the choice of RPF interface is made looking for a single best path to reach the source (or the RP)

in case of links with similar AD, metric the link with highest ip address is chosen.

On some platforms, a command allows to relax the RPF check and to support multiple paths

ip multicast multipath

see

http://www.cisco.com/en/US/docs/ios/ipmulti/command/reference/imc_03.html#wp1058784

if multicat traffic with source 3.3.3.3 would be received on interface ser1/0 instead of ser1/3, it would be seen as an RPF failure without the above command.

Hope to help

Giuseppe

View solution in original post

7 Replies 7

Lei Tian
Cisco Employee
Cisco Employee

Hi,

From your show ip route output, I can see you have 2 equal path for that prefix. On that case, PIM will use the PIM neighbor with higher IP as the RPF neighbor. Please check the link

http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6552/ps6592/whitepaper_c11-474791.html

HTH,

Lei Tian

Thanks all for your reply. Is there a way to tell the router prefer the lower ip as an RPF neighbor instead of chaning ip addresses?

Hi,

If you want PIM to prefer the lower IP path, you can

1 change the unicast routing cost, OSPF on your case to prefer one path over the other; that will break your unicast routing.

2 configure a static mroute and use the lower IP neighbor as the next hop; that will not break your unicast routing.

http://www.cisco.com/en/US/docs/ios/12_3/ipmulti/command/reference/ip3_i1g.html#wp1073735

A static mroute will have AD = 1, and it will be preferd over OSPF.

HTH,

Lei Tian

All,

I have static mroute defined, pointing toward 13.0.0.1. However the rpf neighbor still points toward 34.0.0.3. Any idea why?

Thanks,

D#show ip rpf 3.3.3.3
RPF information for ? (3.3.3.3)
  RPF interface: Serial1/4
  RPF neighbor: ? (34.0.0.3)
  RPF route/mask: 3.3.3.3/32
  RPF type: unicast (ospf 65000)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables
D#
D#show ip mroute static
Mroute: 3.3.3.3/32, RPF neighbor: 13.0.0.1
  Protocol: none, distance: 0, route-map: none
D#

Hi Yuhui,

Looks like it doesnt use the static mroute. Is the next hop 13.0.0.1 reachable on your router? What's the pim neighbor do you have on that router?

HTH,

Lei Tian

There is a typo. Problem solved. Thanks.

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Yuhui,

this is a typical situation with PIM.

unicast routing supports load balancing and install two routes of equal cost.

sh ip cef exact-route provides the exit interface that would be used given a flow with specific SA and specific DA, so one link of the two is used.

CEF uses an exor of IP SA, IP DA and an hash seed to calculate the exit link

the choice of RPF interface is made looking for a single best path to reach the source (or the RP)

in case of links with similar AD, metric the link with highest ip address is chosen.

On some platforms, a command allows to relax the RPF check and to support multiple paths

ip multicast multipath

see

http://www.cisco.com/en/US/docs/ios/ipmulti/command/reference/imc_03.html#wp1058784

if multicat traffic with source 3.3.3.3 would be received on interface ser1/0 instead of ser1/3, it would be seen as an RPF failure without the above command.

Hope to help

Giuseppe

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Innovations in Cisco Full Stack Observability - A new webinar from Cisco