IOS XR, arp girdisinin var olan route’a tercih edilmesi.

Tanım :

IOS XR 5.1 ve öncesinde, eğer arp tablosunda bir prefix için bir girdi var ise rib tablosuna farklı bir route girilmiş olsa bir arp tablosu tercih edilir. Bir başka deyiş ile show route (rib tablosu) ile route’u doğru görmüş olsanız bile show cef (fib) tablosunda farklı bir girdi var ise fib tercih edilir. Daha çok BVI interface kullanılması durumunda oluşan farklı senaryolarda bu bir soruna yol açabiliyor.

Cisco support : CEF prefers ARP adjacency over RIB next hop ve /32 static route problem in a vrf

Cisco live (sunumun Adjacency vs Prefix preference başlıklı bölümleri) :

BRKSPG-2904 – ASR-9000/IOS-XR Understanding forwarding, troubleshooting the system and XR operations (2014 San Francisco)

Anlatım :

Aşağıdaki örnekde TEST ve CE_TEST vrf’leri bir birlerinin routelarını import ediyorlar. Özellikle TEST vrf’indeki 10.20.97.0/24 prefix’i CE_TEST vrf’ine import ediliyor. Fakat bu prefix içerisinde 10.20.97.2/32 prefix’i CE_TEST içerisinde farklı route edilmek istenmiş.
vrf TEST
address-family ipv4 unicast
import route-target
12735:910
!
export route-target
12735:900
!
vrf CE_TEST
address-family ipv4 unicast
import route-target
12735:900
!
export route-target
12735:910
!
interface BVI97
description ### TEST ###
mtu 9014
vrf TEST
ipv4 address 10.20.97.3 255.255.255.0
!
interface GigabitEthernet0/0/0/0.17
vrf CE_TEST
ipv4 address 10.0.0.1 255.255.255.252
encapsulation dot1q 4045
!

router static
vrf CE_TEST
address-family ipv4 unicast
0.0.0.0/0 10.0.0.2
10.20.97.2/32 10.0.0.2
!

show route vrf CE_TEST
Mon Jun 29 06:59:15.194 UTC

Codes: C – connected, S – static, R – RIP, B – BGP, (>) – Diversion path
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, E – EGP
i – ISIS, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, su – IS-IS summary null, * – candidate default
U – per-user static route, o – ODR, L – local, G – DAGR
A – access/subscriber, a – Application route, (!) – FRR Backup path

Gateway of last resort is 10.0.0.2 to network 0.0.0.0

S* 0.0.0.0/0 [1/0] via 10.0.0.2, 2d19h
C 10.0.0.0/30 is directly connected, 2d19h, GigabitEthernet0/0/0/0.17
L 10.0.0.1/32 is directly connected, 2d19h, GigabitEthernet0/0/0/0.17
B 172.16.1.0/29 is directly connected, 2d17h, BVI16 (nexthop in vrf TEST)
B 10.20.97.0/24 is directly connected, 2d17h, BVI97 (nexthop in vrf TEST)
S 10.20.97.2/32 [1/0] via 10.0.0.2, 2d17h

Görüldüğü gibi fib tablosunda TEST vrf’inde 10.20.97.2 için bir girdi olduğundan dolayı statik route değil bu girdi seçiliyor.
sh cef vrf CE_TEST 10.20.97.2/32 hardware egress location 0/0/CPU0
10.20.97.2/32, version 0, internal 0x4480001 0x0 (ptr 0x88448264) [1], 0x0 (0x8838cf70), 0x0 (0x0)
Updated Jun 29 06:54:41.910
local adjacency 10.20.97.2
Prefix Len 32, traffic index 0, Adjacency-prefix, precedence n/a, priority 0
via 10.20.97.2, BVI97, 6 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0x8a491aa8 0x0]
next hop VRF – ‘TEST’, table – 0xe0000014
next hop 10.20.97.2
local adjacency
Mon Jun 29 07:00:18.249 UTC
10.20.97.2/32, version 26, internal 0x4000001 0x0 (ptr 0x88448264) [1], 0x0 (0x0), 0x0 (0x0)
Updated Jun 29 06:59:52.650
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 10.0.0.2, 5 dependencies, recursive [flags 0x0]
path-idx 0 NHID 0x0 [0x88447c64 0x0]
next hop 10.0.0.2 via 10.0.0.2/32

Çözüm :

5.1 serisinde cef adjacency route override rib disable bu tercih sıralamasını rib olacak şekilde değiştirir. 5.2 ve sonrasında bu davranış rib öncelikli olacak şekilde var sayılan olarak değiştirilmiştir.