概要
このドキュメントでは、Cisco IOS® XRルーティング情報ベース(RIB)メッセージ「%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label」のトラブルシューティング方法について説明します。
メッセージの説明
その理由と目的を明確にするために、例が使用され、その異なるコンポーネントに分割されます:
RP/0/0/CPU0:Feb 17 11:46:25.663 : ipv4_rib[1148]: %ROUTING-RIB-3-LABEL_ERR_ADD : Add local-label 16111 (2) for table 0xe0000000, prefix 10.0.0.111/32, by proto isis client 17 isis node0_0_CPU0 - existing label 24005 added by proto-id 2 client 16
Originator |
ipv4_rib |
[Category] |
ルーティング |
Group |
リブ |
重大度 |
3(エラー状態) |
ニーモニック |
LABEL_ERR_ADD |
メッセージテキスト |
proto isis client 17 isis node0_0_CPU0:テーブル0xe0000000、プレフィクス10.0.0.111/32用のローカルラベル16111 (2)を追加 – proto-id 2クライアント16によって既存のラベル24005が追加 |
メッセージ詳細プロセスに従い、ipv4_ribはプロトコルIntermediate System-to-Intermediate System(IS-IS)(ribクライアント17)からの試行時に、プレフィクス10.0.0.111/32のローカルラベル16111を追加するためのエラーを生成しました。ラベル24005は、以前に別のプロトコル(rib client 16)によって追加された同じプレフィクスのRIBデータベースにすでに存在します。要約すると、2つの異なるプロトコルによって、RIBデータベース内の同じプレフィクスに対して異なるローカルラベルが追加されました。これはエラー状態であり、ラベルの競合を修正して解決する必要があります。
メッセージの送信元の理解
複数のプロトコルがラベルを交換するシナリオでは、Border Gateway Protocol - Labeled Unicast(BGP-LU)とセグメントルーティング(SR)を同時に使用するときなどに、エラー状態が発生する可能性があります。
同じ自律システム(AS)内のホスト間でBGP-LUを使用して、選択したプレフィックスと関連ラベルをアドバタイズするシナリオを考えてみましょう。IS-ISによって認識されるプレフィックス10.0.0.111/32には、次に示すようにBGPによって割り当てられたローカルラベルがあります。
RP/0/0/CPU0:XRV4#show route 10.0.0.111/32 detail private
Routing entry for 10.0.0.111/32
Known via "isis core", distance 115, metric 30, type level-2
Installed Feb 17 10:56:08.900 for 00:34:45
Routing Descriptor Blocks
10.3.4.3, from 10.0.0.111, via GigabitEthernet0/0/0/0
Route metric is 30
Label: None
Tunnel ID: None
Binding Label: None
Extended communities count: 0
Path id:1 Path ref count:0
NHID:0x1(Ref:8)
Path flags: 0x0 ()
Private flags: 0x40 (rib_encap_id)
Route version is 0x17 (23)
Local Label: 0x5dc5 (24005)
IP Precedence: Not Set
QoS Group ID: Not Set
Flow-tag: Not Set
Fwd-class: Not Set
Route Priority: RIB_PRIORITY_NON_RECURSIVE_MEDIUM (7) SVD Type RIB_SVD_TYPE_LOCAL
Download Priority 1, Download Version 287
Client-id: 17
Route flags: 0x0 ()
Route Extended flags: 0x0 ()
Route private flags: 0x20 (priority_promotion)
Route head pointer: 0x1201f5bc
Local Label List
B 24005 (Client ID: 16, Distance: 200,)
No advertising protos.
割り当てられたローカルラベル24005のプロトコル所有者は、MPLSラベルテーブルから確認および確認できます。
RP/0/0/CPU0:XRV4#show mpls label table label 24005 detail private
Table Label Owner State Rewrite
----- ------- ------------------------------- ------ -------
0 24005 LDP(A) InUse Yes
BGP-VPNv4(A):bgp-default InUse No
(IPv4, vers:0, 'default':4U, 10.0.0.111/32)
ネットワークでSRが有効になると、IS-ISがRIBデータベースに独自のラベルを追加するため、エラー状態が発生します。これにより、BGP-LUからすでに存在し、以前に割り当てられたラベルとラベルの競合が発生します。この段階で、エラーメッセージはプロセスipv4_ribによって生成され、プロトコルIS-IS(rib client 17)からの試みに対して、プレフィクス10.0.0.111/32用のローカルラベル16111を追加するためのアラートを生成します。このプレフィクスには、以前にプロトコルBGP(rib client 16)によって追加されたローカルラベル24005が既に存在します。
RP/0/0/CPU0:Feb 17 11:46:25.663 : ipv4_rib[1148]: %ROUTING-RIB-3-LABEL_ERR_ADD : Add local-label 16111 (2) for table 0xe0000000, prefix 10.0.0.111/32, by proto isis client 17 isis node0_0_CPU0 - existing label 24005 added by proto-id 2 client 16
ラベルの競合状態は、次に示すように、プレフィックスルートローカルラベルリストの詳細から確認できます。
RP/0/0/CPU0:XRV4#show route 10.0.0.111/32 detail private
Routing entry for 10.0.0.111/32
Known via "isis core", distance 115, metric 30, labeled SR, type level-2
Installed Feb 17 11:46:25.663 for 00:21:45
Routing Descriptor Blocks
10.3.4.3, from 10.0.0.111, via GigabitEthernet0/0/0/0
Route metric is 30
Label: 0x3eef (16111)
Tunnel ID: None
Binding Label: None
Extended communities count: 0
Path id:1 Path ref count:0
NHID:0x1(Ref:8)
Path flags: 0x0 ()
Private flags: 0x42 (has_vpn_data, rib_encap_id)
Route version is 0x1e (30)
Local Label: 0x3eef (16111)
IP Precedence: Not Set
QoS Group ID: Not Set
Flow-tag: Not Set
Fwd-class: Not Set
Route Priority: RIB_PRIORITY_NON_RECURSIVE_MEDIUM (7) SVD Type RIB_SVD_TYPE_LOCAL
Download Priority 1, Download Version 309
Client-id: 17
Route flags: 0x8800000 (ldp_sr_merge_request, label_sr)
Route Extended flags: 0x8 (ldp_sr_merge_request)
Route private flags: 0x20 (priority_promotion)
Route head pointer: 0x1201f5bc
Local Label List
i 16111 (Client ID: 17, Distance: 115,)
B 24005 (Client ID: 16, Distance: 200,)
No advertising protos.
ラベルの競合が発生すると、BGP-LUとIS-IS関連の出力の両方で、特定の各プロトコルによって割り当てられたローカルラベルに関する詳細が提供されます。次の出力では、プレフィクスと割り当てられたラベルの両方に関する各プロトコルの詳細が強調表示されています。
ラベル競合のシナリオでは、プロトコルBGP-LUから見たプレフィクスとラベルの詳細に注目してください。
RP/0/0/CPU0:XRV4#show bgp ipv4 labeled-unicast 10.0.0.111/32 detail
BGP routing table entry for 10.0.0.111/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 69 69
Local Label: 24005 (no rewrite);
Flags: 0x01003001+0x00000200;
Last Modified: Feb 17 11:46:31.984 for 00:22:30
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Flags: 0x4080000009060005, import: 0x20
Not advertised to any peer
Local
10.0.0.111 (metric 30) from 10.0.0.111 (10.0.0.111)
Received Label 3
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 0, version 69
Prefix SID Attribute Size: 10
Label Index: 111
RP/0/0/CPU0:XRV4#show bgp ipv4 labeled-unicast labels
<snip>
Network Next Hop Rcvd Label Local Label
*> 10.0.0.4/32 0.0.0.0 nolabel 3
*>i10.0.0.111/32 10.0.0.111 3 24005
Processed 2 prefixes, 2 paths
RP/0/0/CPU0:XRV4#show mpls label table label 24005 detail internal
Table Label Owner State Rewrite
----- ------- ------------------------------- ------ -------
0 24005 LDP(A) InUse Yes
BGP-VPNv4(A):bgp-default InUse No
(IPv4, vers:0, 'default':4U, 10.0.0.111/32)
ラベルの競合が発生している場合は、プレフィクスとラベルの詳細をメモします(プロトコルIS-ISから見た場合)。
RP/0/0/CPU0:XRV4#show isis ipv4 route 10.0.0.111/32 detail
L2 10.0.0.111/32 [30/115] medium priority
via 10.3.4.3, GigabitEthernet0/0/0/0, XRV3, SRGB Base: 16000, Weight: 0
src XRV111.00-00, 10.0.0.111, prefix-SID index 111, R:0 N:1 P:0 E:0 V:0 L:0
RP/0/0/CPU0:XRV4#show isis segment-routing label 16111
IS-IS core IS Label Table
Label Prefix/Interface
---------- ----------------
16111 10.0.0.111/32
RP/0/0/CPU0:XRV4#show mpls label table label 16111 detail internal
Table Label Owner State Rewrite
----- ------- ------------------------------- ------ -------
0 16111 ISIS(A):core InUse No
(Lbl-blk SRGB, vers:0, (start_label=16000, size=8000)
プロトコルと関連するラベルの両方がプログラムされ、MPLS転送の詳細から確認できます。
RP/0/0/CPU0:XRV4#show mpls forwarding labels 24005 detail private
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24005 24004 10.0.0.111/32 Gi0/0/0/0 10.3.4.3 3055
Updated: Feb 17 11:46:25.703
Version: 217, Priority: 3
Label Stack (Top -> Bottom): { 24004 }
NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0
MAC/Encaps: 14/18, MTU: 1500
Outgoing Interface: GigabitEthernet0/0/0/0 (ifhandle 0x00000040)
Packets Switched: 56
Traffic-Matrix Packets/Bytes Switched: 0/0
Traffic-Matrix Packets/Bytes Switched: 0/0
RP/0/0/CPU0:XRV4#show mpls forwarding labels 16111 detail private
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16111 16111 SR Pfx (idx 111) Gi0/0/0/0 10.3.4.3 0
Updated: Feb 17 11:46:25.703
Version: 309, Priority: 15
Label Stack (Top -> Bottom): { 16111 }
NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0
MAC/Encaps: 14/18, MTU: 1500
Outgoing Interface: GigabitEthernet0/0/0/0 (ifhandle 0x00000040)
Packets Switched: 0
Traffic-Matrix Packets/Bytes Switched: 0/0
Traffic-Matrix Packets/Bytes Switched: 0/0
ただし、プレフィクス10.0.0.111/32の転送の詳細から、次に示すように、最初に割り当てられたラベル24005がまだ使用中であることがわかります。
RP/0/0/CPU0:XRV4#show mpls forwarding prefix 10.0.0.111/32 detail private
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24005 24004 10.0.0.111/32 Gi0/0/0/0 10.3.4.3 3225
Updated: Feb 17 11:46:25.703
Version: 217, Priority: 3
Label Stack (Top -> Bottom): { 24004 }
NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0
MAC/Encaps: 14/18, MTU: 1500
Outgoing Interface: GigabitEthernet0/0/0/0 (ifhandle 0x00000040)
Packets Switched: 59
Traffic-Matrix Packets/Bytes Switched: 0/0
RP/0/0/CPU0:XRV4#show cef 10.0.0.111/32 detail
10.0.0.111/32, version 217, labeled SR, internal 0x1000001 0x81 (ptr 0xa12dc0ec) [1], 0x0 (0xa12c1638), 0xa28 (0xa1527348)
Updated Feb 17 11:46:31.652
local adjacency 10.3.4.3
Prefix Len 32, traffic index 0, precedence n/a, priority 3
Extensions: context-label:16111
gateway array (0xa12264f0) reference count 9, flags 0x68, source lsd (5), 1 backups
[4 type 5 flags 0x8401 (0xa154153c) ext 0x0 (0x0)]
LW-LDI[type=5, refc=3, ptr=0xa12c1638, sh-ldi=0xa154153c]
gateway array update type-time 1 Feb 17 11:46:25.702
LDI Update time Feb 17 11:46:25.702
LW-LDI-TS Feb 17 11:46:25.702
via 10.3.4.3/32, GigabitEthernet0/0/0/0, 11 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0xa168816c 0x0]
next hop 10.3.4.3/32
local adjacency
local label 24005 labels imposed {24004}
Load distribution: 0 (refcount 4)
Hash OK Interface Address
0 Y GigabitEthernet0/0/0/0 10.3.4.3
上記のシナリオでは、BGPのセグメントルーティング(SR-BGP)を設定してBGP Prefix-SIDを使用することで、「%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label」の発生を回避できます。
SR-BGPの詳細については、『Cisco ASR 9000シリーズルータのセグメントルーティング設定ガイド』を参照してください。必要な手順のクイックリファレンスを次に示します。
すべてのノードで、SR-BGPを自動的にイネーブルにするグローバルセグメントルーティンググローバルブロック(SRGB)を設定します。
!
segment-routing
global-block 16000 23999
!
設定の際、BGPは「show mpls label table detail」コマンドの出力に示されるように、ラベル割り当てにグローバルSRGBを使用します。
!
! Note: If SR BGP was enabled after configuring BGP then you may need to process restart BGP for global SRGB to be picked up.
!
RP/0/0/CPU0:XRV111#show mpls label table detail
Table Label Owner State Rewrite
----- ------- ------------------------------- ------ -------
<snip>
0 16000 ISIS(A):core InUse No
BGP-VPNv4(A):bgp-default InUse No
(Lbl-blk SRGB, vers:0, (start_label=16000, size=8000)
<snip>
ルートを発信するBGPノードで、ルートポリシーを使用してBGPプレフィックスSIDを設定します。プレフィックス10.0.0.111/32をアドバタイズするノードの設定例を次に示します。
!
route-policy SID($SID)
set label-index $SID
end-policy
!
router bgp 65000
address-family ipv4 unicast
network 10.0.0.111/32 route-policy SID(111)
allocate-label all
!
SR-BGPが有効になっていると、「ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label」状態が発生しなくなります。次に示すように、BGPはプレフィックスアドバタイズメントとともに受信したBGP-Prefix SIDインデックスを、グローバルSRGBからローカルラベルを割り当てるヒントとして使用します。
RP/0/0/CPU0:XRV4#show route 10.0.0.111/32 detail private
Routing entry for 10.0.0.111/32
Known via "isis core", distance 115, metric 30, labeled SR, type level-2
Installed Feb 17 14:48:26.512 for 02:59:18
Routing Descriptor Blocks
10.3.4.3, from 10.0.0.111, via GigabitEthernet0/0/0/0
Route metric is 30
Label: 0x3eef (16111)
Tunnel ID: None
Binding Label: None
Extended communities count: 0
Path id:1 Path ref count:0
NHID:0x2(Ref:8)
Path flags: 0x0 ()
Private flags: 0x42 (has_vpn_data, rib_encap_id)
Route version is 0xd (13)
Local Label: 0x3eef (16111)
IP Precedence: Not Set
QoS Group ID: Not Set
Flow-tag: Not Set
Fwd-class: Not Set
Route Priority: RIB_PRIORITY_NON_RECURSIVE_MEDIUM (7) SVD Type RIB_SVD_TYPE_LOCAL
Download Priority 1, Download Version 438
Client-id: 19
Route flags: 0x9800000 (ldp_sr_merge_request, rib_precedence_over_ldp, label_sr)
Route Extended flags: 0x48 (ldp_sr_merge_request, rib_precedence_over_ldp)
Route private flags: 0x0 ()
Route head pointer: 0x1201f32c
Local Label List
i 16111 (Client ID: 19, Distance: 115,)
B 16111 (Client ID: 18, Distance: 200,)
No advertising protos.
結論
このメッセージは、2つの異なるプロトコルがRIBデータベース内の同じプレフィクスに対して異なるローカルラベルを追加したときにトリガーされます。保持すべき重要な点は、このラベル競合エラー状態を回避し、その原因を理解して修正する必要があることです。
この動作は、SR-BGPとBGP Prefix-SIDを使用することで回避できます。
優先順位の判断を進め、「%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label」というメッセージを理解するのに役立つ出力が得られるようにするには、次のコマンドリストを参照してください。
show rib clients
show rib clients redistribution history all
show route <prefix> detail private
show isis ipv4 route <prefix> detail
show bgp ipv4 labeled-unicast <prefix> detail
show bgp ipv4 labeled-unicast labels
show cef <> detail
show mpls label table label <prefix> detail private
show mpls label table label <prefix> history
show mpls forwarding labels <prefix> detail private
show mpls forwarding prefix <prefix> detail private
show mpls lsd forwarding labels <prefix> detail
show mpls ldp forwarding detail
show isis segment-routing label table
show isis database verbose detail internal