はじめに
IOS-XR において、BGP によって得られたルート Prefix が、ルーティングテーブル(RIB)にインストールされない場合があります。
ポリシー制限、Nexthop 解決不可などさまざまな原因がありますが、本文章では Prefixes 自体原因の例を説明します。
事象
BGP によって得られた下記のデフォルトルートが、RIB にインストールされれません。
例:
R#show bgp vrf TEST ipv4 unicast neighbors 10.10.10.1 received routes
* 0.0.0.0/0 10.10.10.1 0 65000 i
* 0.0.0.0/1 10.10.10.1 0 65000 i
* 0.0.0.0/2 10.10.10.1 65000 i
* 0.0.0.0/3 10.10.10.1 65000 i
* 0.0.0.0/4 10.10.10.1 65000 i
* 0.0.0.0/5 10.10.10.1 65000 i
* 0.0.0.0/6 10.10.10.1 65000 i
* 0.0.0.0/7 10.10.10.1 65000 i
* 0.0.0.0/8 10.10.10.1 0 65000 i
* 0.0.0.0/9 10.10.10.1 0 65000 i
* 0.0.0.0/10 10.10.10.10 65000 i
* 0.0.0.0/11 10.10.10.1 0 65000 i
* 0.0.0.0/12 10.10.10.1 0 65000 i
* 0.0.0.0/13 10.10.10.1 0 65000 i
* 0.0.0.0/14 10.10.10.1 0 65000 i
* 0.0.0.0/15 10.10.10.1 0 65000 i
* 0.0.0.0/16 10.10.10.1 0 65000 i
* 0.0.0.0/17 10.10.10.1 0 65000 i
* 0.0.0.0/18 10.10.10.1 0 65000 i
* 0.0.0.0/19 10.10.10.1 0 65000 i
* 0.0.0.0/20 10.10.10.1 0 65000 i
* 0.0.0.0/21 10.10.10.1 0 65000 i
* 0.0.0.0/22 10.10.10.1 0 65000 i
* 0.0.0.0/23 10.10.10.1 0 65000 i
* 0.0.0.0/24 10.10.10.1 0 65000 i
* 0.0.0.0/25 10.10.10.1 0 65000 i
* 0.0.0.0/26 10.10.10.1 0 65000 i
* 0.0.0.0/27 10.10.10.1 0 65000 i
* 0.0.0.0/28 10.10.10.1 0 65000 i
* 0.0.0.0/29 10.10.10.1 0 65000 i
* 0.0.0.0/30 10.10.10.1 0 65000 i
* 0.0.0.0/31 10.10.10.1 0 65000 i
* 0.0.0.0/32 10.10.10.1 0 65000 i
R#show route vrf TEST bgp
B* 0.0.0.0/0 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/1 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/2 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/3 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/4 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/5 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/6 [20/0] via 10.10.10.1, 00:00:52
B 0.0.0.0/7 [20/0] via 10.10.10.1, 00:00:52 <<0.0.0.0/8-32がRIB上にインストールされません。
原因と対策
BGP implement ガイドに記載している通り、0.0.0.0/8-32は "Martian address" として定義してあり、
これらの Martian address が RIB にインストールされないのは想定された動作です。
RIB 上にこれらの Martian address を RIB にインストールするためには、
「default-martian-check disable」というコマンドを BGP アドレスファミリ構成モードで実行する必要があります。
User Defined Martian Check
https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k-r7-8/routing/configuration/guide/b-routing-cg-asr9000-78x/implementing-bgp.html
default-martian-check disable
https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/routing/command/reference/b-routing-cr-asr9000/bgp-commands.html