IOS XR BGP

– From Cisco IOS XR Release 3.9.0 onwards, the Border Gateway Protocol (BGP) commands use disable keyword to disable a feature.

No Default Address Family : IPv4 dahil enable değil. Genel konfig altında açılması gerek. Ondan sonra komşuluk bazında açılıp, kapatılıyor.

Routing Policy Enforcement : eBGP için in ve out policy gereklidir. Tersi durumda ne bir route gönderilir veya alınır.

 – nexthop trigger-delay : RIB’deki değişiklikler critik ve non-critik olarak ikiye ayrılı. critik olanlar reachability (reachable and unreachable), connectivity (connected and unconnected), and locality (local and nonlocal) of the next hops, non-critik olanla ise igp metric değişiklikleridir. igp metric değişiklikleri 3sn sonra yansıtılır.

– nexthop route-policy : Hangi route tipleri için nh track edilceği. nh bgp olanları track etmenin anlamı yok!

– show bgp nexthops , debug bgp nexthops  :

New Thread for Next-Hop Processing
The critical-event thread in the spkr process handles only next-hop, Bidirectional Forwarding Detection (BFD), and fast-external-failover (FEF) notifications. This critical-event thread ensures that BGP convergence is not adversely impacted by other events that may take a significant amount of time.
show, clear, and debug Commands
The show bgp nexthops command provides statistical information about next-hop notifications, the amount of time spent in processing those notifications, and details about each next hop registered with the RIB. The clear bgp nexthop performance-statistics command ensures that the cumulative statistics associated with the processing part of the next-hop show command can be cleared to help in monitoring. The clear bgp nexthop registration command performs an asynchronous registration of the next hop with the RIB. See the BGP Commands on Cisco ASR 9000 Series Router module of Cisco ASR 9000 Series Aggregation Services Router Routing Command Referencefor information on the next-hop show and clear commands.
The debug bgp nexthop command displays information on next-hop processing. The out keyword provides debug information only about BGP registration of next hops with RIB. The in keyword displays debug information about next-hop notifications received from RIB. The out keyword displays debug information about next-hop notifications sent to the RIB. See the BGP Debug Commands on Cisco ASR 9000 Series Aggregation Services Router module of Cisco ASR 9000 Series Aggregation Services Router Routing Debug Command Reference.

No Default Address Family

RPL :

RPL sistem üzerinde run-time çalışır. Dolayısı ile configurasyon modunda bir RPL değiştirmeye çalışır iseniz, eskinin üzerine yazacakdır (run-time çalıştığı içinde aktif olacakdır!). RPL edit etmenin en uygun yolu bir editor kullanarak edit etmektir.

RP/0/RSP0/CPU0:test-asr#edit route-policy test ?

  emacs  to use Emacs editor

  nano   to use nano editor

  vim    to use Vim editor

  <cr>

Ayrıca default olarak drop ederler. Tabi herhangi bir set işlemi ile modifiye edilmemiş veya pass/done olarak izin verilmemiş ise.

route-policy test
set weight 100
end-policy

Her şeyi geçirecekdir. Çünkü bir set işlemi var.

route-policy pass_all

end-policy !!! her şeyi drop edecekdir. Default drop’a karşılık gelir.

match-every ve match-within : RPL içirisinde filtre yazar iken bu match seçeneği olarak bu ikiside kullanılabilir. Command reference bu iki komut konusunda pek açıklayıcı bilgi vermemektedir.

Şu şekilde özletlemek gerekir ise ;

İlk olarak karşılaştırılan route’un extentended community veya community değeri vardır. Bunu bizim yazdığımız değerler ile karşılaştırmak istiyoruz.

match-every : rpl içerisinde yazılan listedeki değer ile route değerini karşılaştırır.

match-within : route değerini rpl içerisindeki değer ile karşılaştırır.

Karşılaştırdığımız route’ın community değerleri X Y olsun. Karşılaştırma değerlerimiz ise A B C olsun.

match-every komutu A, B ve C değerlerini route değerleri olan X ve Y ile karşılaştırır.

match-within komutu ise tam terse oral X ve Y değerlerini A, B ve C ile karşlılaştırır.

Örnek olarak : Karşılaştırma yapacağımız routelar ve community değerleri ;

R1 : RT 65000:10801

R2 : RT 65000:10801 RT 65000:910 RT 65000:1000

değerlerinde olsun.

1 – match-every kullanımı :

1.1 – if extcommunity rt matches-every(65000:1000, 65000:10801, 65000:910) then

Sadece R2 filtreyi geçer.  Zira 65000:1000 ve 65000:910 R1 içerisinde yoktur.

1.2 – if extcommunity rt matches-every (65000:444, 65000:10801, 65000:1000, 65000:910) then

Ne R1 nede R2 geçemez. 65000:444 ikisi içerisinde de yoktur.

1.3 – if extcommunity rt matches-every (65000:10801) then

R1 ve R2 geçer. 65000:10801 hem R1 hemde R2 içerisinde vardır.

1.4   if extcommunity rt matches-every (65000:1000, 65000:910) then

Sadece R2 geçer. Ne 65000:1000 nede 65000:910 R1 içerisinde yoktur.

2 – match-wtihin kullanımı :

2.1 – if extcommunity rt matches-within (65000:1000, 65000:10801, 65000:910) then

R1 ve R2 geçer. R1 için 65000:10801 karşılaştırma listesinde vardır. R2 için ise tüm RT değerleri karşılaştırma listesinde vardır.

2.2 – if extcommunity rt matches-within (65000:10801)

Sadece R1 geçer.  R1 için 65000:10801 karşılaştırma listesinde vardır. R2 için ise 65000:1000 ve 65000:910 değerleri karşılaştırma listesinde yoktur. Gerçi bir tanesinin olmaması filtrelenmesi için yeterlidir.

2.3 –  if extcommunity rt matches-within (65000:444, 65000:10801, 65000:1000, 65000:910) then

R1 ve R2 geçer. R1 ve R2’nin RT değerleri karşılaştırma listesinde vardır.

2.4 if extcommunity rt matches-within (65000:1000, 65000:910) then

Ne R1 nede R2 geçemez. R1 için 65000:10801, R2 için ise yine 65000:10801 değeri karşılaştırma listesinde yoktur.