Table des matières

Introduction

Description du message

Comprendre l'origine du message

Conclusion

Introduction

Ce document décrit comment dépanner le message de la base d'informations de routage (RIB) Cisco IOS® XR « %ROUTING-RIB-3-LABEL_ERR_ADD : Add local-label ».

Description du message

Afin de clarifier sa raison d'être et son objectif, un exemple est utilisé, et il est divisé en ses différents composants :

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

Auteur

ipv4_rib

Catégorie

ACHEMINEMENT

Groupe

NERVURE

Severity (gravité)

3 (Condition d'erreur)

Mnémonique

LABEL_ERR_ADD

Message-Texte

Ajouter local-label 16111 (2) pour la table 0xe0000000, préfixe 10.0.0.111/32, par proto isis client 17 isis node0_0_CPU0 - étiquette existante 24005 ajoutée par proto-id 2 client 16

Selon le processus de détails du message, ipv4_rib a généré une erreur lors de la tentative du protocole IS-IS (Intermediate System-to-Intermediate System) - rib client 17 - d'ajouter une étiquette locale 16111 pour le préfixe 10.0.0.111/32. L'étiquette 24005 existe déjà dans la base de données RIB pour le même préfixe précédemment ajouté par un autre protocole - rib client 16. En résumé, deux protocoles distincts ont ajouté une étiquette locale différente pour le même préfixe dans la base de données RIB. Il s'agit d'une erreur et le conflit d'étiquette doit être corrigé et résolu.

Comprendre l'origine du message

Une condition d'erreur peut se produire dans un scénario où plusieurs protocoles échangent des étiquettes, par exemple lorsque vous utilisez simultanément le protocole BGP-LU (Border Gateway Protocol - Labeled Unicast) et le routage de segment (SR).

Considérez le scénario dans lequel BGP-LU est utilisé entre des hôtes au sein du même système autonome (AS) pour annoncer les préfixes sélectionnés et les étiquettes associées. Le préfixe 10.0.0.111/32 qui est connu via IS-IS a une étiquette locale attribuée par BGP comme indiqué :

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.

Le propriétaire du protocole de l'étiquette locale attribuée 24005 peut être confirmé et vérifié à partir de la table d'étiquettes 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)

Au moment où SR est activé sur le réseau, la condition d'erreur est déclenchée lorsque IS-IS ajoute sa propre étiquette dans la base de données RIB. Cela entraîne un conflit d'étiquette avec l'étiquette déjà présente et précédemment allouée de BGP-LU. À ce stade, le message d'erreur est généré par le processus ipv4_rib et des alertes pour la tentative du protocole IS-IS - client rib 17 - d'ajouter un local-label 16111 pour le préfixe 10.0.0.111/32 pour lequel il existe déjà un local-label 24005 précédemment ajouté par le protocole BGP - client rib 16 :

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

La condition de conflit d'étiquette peut être vue et confirmée à partir des détails de la liste d'étiquettes locale de routage de préfixe, comme indiqué :

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.

Avec un conflit d'étiquette en place, les sorties BGP-LU et IS-IS fournissent des détails supplémentaires sur l'étiquette locale attribuée par chaque protocole spécifique. Les résultats suivants mettent en évidence les spécificités de chaque protocole en ce qui concerne le préfixe et l’étiquette attribuée.

Dans un scénario de conflit d'étiquette, notez le préfixe et les détails de l'étiquette, comme le montre le protocole 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)

Dans un scénario de conflit d'étiquettes, notez le préfixe et les détails de l'étiquette, comme le montre le protocole 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)

Les protocoles et les étiquettes associées sont désormais programmés et peuvent être observés à partir des détails de transfert 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

Cependant, à partir des détails de transfert du préfixe 10.0.0.111/32, vous pouvez observer que l'étiquette attribuée initiale 24005 est toujours utilisée, comme indiqué :

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

Dans le scénario ci-dessus, l'occurrence « %ROUTING-RIB-3-LABEL_ERR_ADD : Add local-label » peut être évitée en configurant le routage de segment pour BGP (SR-BGP) et en utilisant BGP Prefix-SID.

Pour plus d'informations sur SR-BGP, reportez-vous au Guide de configuration du routage de segment pour les routeurs de la gamme Cisco ASR 9000. Vous trouverez ci-dessous un aperçu des étapes requises.

Sur tous les noeuds, configurez un bloc global de routage de segment (SRGB) qui activera automatiquement SR-BGP :

!

segment-routing

global-block 16000 23999

!

Lors de la configuration, BGP utilisera le SRGB global pour l'allocation d'étiquette comme indiqué dans le résultat de la commande « show mpls label table detail » :

!

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

Au niveau du noeud BGP à l'origine de la route, configurez le préfixe BGP-SID via une route-policy. Un exemple de configuration pour le préfixe d'annonce de noeud 10.0.0.111/32 est présenté :

!

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

!

Avec SR-BGP en place, la condition « ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label » n'aura plus lieu. Comme indiqué ci-dessous, BGP utilisera l'index SID BGP-Prefix reçu avec l'annonce de préfixe comme indication pour allouer l'étiquette locale à partir de SRGB global.

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.

Conclusion

Le message est déclenché lorsque deux protocoles distincts ont ajouté une étiquette locale différente pour le même préfixe dans la base de données RIB et l'aspect important à retenir est que cette condition d'erreur de conflit d'étiquette doit être évitée et son origine doit être comprise et corrigée.

Ce comportement peut être évité avec l'utilisation de SR-BGP et de BGP Prefix-SID.

Pour obtenir des résultats utiles et utiles permettant de procéder au triage et de comprendre l'occurrence du message « %ROUTING-RIB-3-LABEL_ERR_ADD : Add local-label », reportez-vous à la liste de commandes ci-dessous :

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