Inhalt

Einleitung

Beschreibung der Nachricht

Nachrichtenursprung verstehen

Schlussfolgerung

Einleitung

In diesem Dokument wird die Fehlerbehebung für die Meldung "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label" der Cisco IOS® XR Routing Information Base (RIB) beschrieben.

Beschreibung der Nachricht

Zur Verdeutlichung des Grundes und des Zwecks wird ein Beispiel verwendet, das in seine verschiedenen Bestandteile unterteilt ist:

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-Rippe

Kategorie

ROUTING

Gruppe

RIPPE

Schweregrad

3 (Fehlerbedingung)

Gedächtnisstütze

LABEL_ERR_HINZUFÜGEN

Nachrichtentext

Lokales Label hinzufügen 16111 (2) für Tabelle 0xe0000000, Präfix 10.0.0.111/32, durch proto isis client 17 isis node0_0_CPU0 - vorhandenes Label 24005 hinzugefügt durch proto-id 2 client 16

Entsprechend des Meldungsdetailprozesses hat ipv4_rib einen Fehler generiert, als vom IS-IS (Intermediate System-to-Intermediate System) - Rib-Client 17 - versucht wurde, ein lokales Label 16111 für das Präfix 10.0.0.111/32 hinzuzufügen. Das Label 24005 ist bereits in der RIB-Datenbank für dasselbe Präfix vorhanden, das zuvor von einem anderen Protokoll - dem Rib-Client 16 - hinzugefügt wurde. Zusammengefasst haben zwei verschiedene Protokolle ein anderes lokales Label für dasselbe Präfix in der RIB-Datenbank hinzugefügt. Dies ist eine Fehlerbedingung, und der Labelkonflikt muss korrigiert und behoben werden.

Nachrichtenursprung verstehen

Eine Fehlerbedingung kann in einem Szenario auftreten, in dem mehrere Protokolle Labels austauschen, z. B. wenn Sie gleichzeitig Border Gateway Protocol - Labeled Unicast (BGP-LU) und Segment-Routing (SR) verwenden.

Betrachten wir das Szenario, in dem BGP-LU zwischen Hosts innerhalb desselben autonomen Systems (AS) verwendet wird, um ausgewählte Präfixe und zugeordnete Labels anzukündigen. Dem Präfix 10.0.0.111/32, das über IS-IS bekannt ist, wurde vom BGP wie folgt ein lokales Label zugewiesen:

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.

Der Protokollbesitzer des zugewiesenen lokalen Labels 24005 kann aus der MPLS-Label-Tabelle bestätigt und verifiziert werden:

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)

Sobald SR im Netzwerk aktiviert ist, wird die Fehlerbedingung ausgelöst, da IS-IS der RIB-Datenbank eine eigene Bezeichnung hinzufügt. Dies führt zu einem Labelkonflikt mit dem bereits vorhandenen und zuvor zugewiesenen Label vom BGP-LU. Zu diesem Zeitpunkt wird die Fehlermeldung vom Prozess ipv4_rib generiert und es werden Warnmeldungen ausgegeben, wenn vom Protokoll IS-IS - Rib-Client 17 - versucht wird, ein lokales Label 16111 für das Präfix 10.0.0.111/32 hinzuzufügen, für das bereits ein lokales Label 24005 vorhanden ist, das zuvor vom Protokoll BGP - Rib-Client 16 hinzugefügt wurde:

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

Der Labelkonflikt kann anhand der Details der lokalen Labelliste für die Präfixroute angezeigt und bestätigt werden:

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.

Wenn ein Label-Konflikt besteht, liefern sowohl BGP-LU- als auch IS-IS-bezogene Ausgaben zusätzliche Details zu dem von den einzelnen Protokollen zugewiesenen lokalen Label. Die nächsten Ausgaben markieren die einzelnen Protokollspezifikationen in Bezug auf das Präfix und die zugewiesenen Labels.

Beachten Sie bei einem Label-Konfliktszenario Präfix und Label-Details, wie vom Protokoll BGP-LU aus gesehen:

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)

Beachten Sie bei einem Label-Konfliktszenario Präfix und Label-Details, wie im Protokoll 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)

Sowohl die Protokolle als auch die zugehörigen Labels sind jetzt programmiert und können aus den MPLS-Weiterleitungsdetails entnommen werden:

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

Unter dem Präfix 10.0.0.111/32 können Sie jedoch feststellen, dass das ursprünglich zugewiesene Label 24005 weiterhin verwendet wird, wie hier gezeigt:

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

Im obigen Szenario kann das Auftreten von "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label" vermieden werden, indem Segment Routing für BGP (SR-BGP) konfiguriert wird und BGP Prefix-SID verwendet wird.

Detaillierte Informationen zum SR-BGP finden Sie im Konfigurationshandbuch für Segment-Routing für Cisco Router der Serie ASR 9000. Im Folgenden finden Sie eine Kurzreferenz der erforderlichen Schritte.

Konfigurieren Sie auf allen Knoten einen globalen Segment Routing Global Block (SRGB), der automatisch SR-BGP aktiviert:

!

segment-routing

global-block 16000 23999

!

Nach der Konfiguration verwendet BGP den globalen SRGB für die Label-Zuweisung, wie in der Befehlsausgabe "show mpls label table detail" gezeigt:

!

! 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>

Konfigurieren Sie am BGP-Knoten, von dem die Route ausgeht, die BGP-Präfix-SID über eine Routen-Richtlinie. Es wird ein Konfigurationsbeispiel für das Knotenwerbepräfix 10.0.0.111/32 dargestellt:

!

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

!

Wenn SR-BGP aktiviert ist, tritt die Bedingung "ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label" nicht mehr auf. Wie unten gezeigt, verwendet BGP den BGP-Prefix-SID-Index, der mit Präfix-Advertisement-Nachrichten empfangen wurde, als Hinweis für die Zuweisung des lokalen Labels vom globalen 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.

Schlussfolgerung

Die Nachricht wird ausgelöst, wenn zwei verschiedene Protokolle ein anderes lokales Label für dasselbe Präfix in der RIB-Datenbank hinzugefügt haben und der wichtige Aspekt, der beibehalten werden muss, ist, dass dieser Labelkonfliktfehler vermieden und sein Ursprung verstanden und korrigiert werden muss.

Durch die Verwendung von SR-BGP und BGP-Prefix-SID kann dieses Verhalten vermieden werden.

Hilfreiche und nützliche Informationen zum Fortsetzen der Triage und zum Verständnis des Auftretens der Meldung "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local label" finden Sie in der angezeigten Befehlsliste:

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