Sommario

Introduzione

Descrizione messaggio

Informazioni sull'origine dei messaggi

Conclusioni

Introduzione

In questo documento viene descritto come risolvere i problemi relativi al messaggio della base di informazioni di routing (RIB) di Cisco IOS® XR "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label".

Descrizione messaggio

Per chiarirne la ragione e lo scopo, viene utilizzato un esempio che è suddiviso nelle sue diverse componenti:

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

rib_ipv4

Categoria

INSTRADAMENTO

Group

NERVATURA

Gravità

3 (condizione di errore)

Mnemonico

LABEL_ERR_ADD

Messaggio-Testo

Aggiungere l'etichetta locale 16111 (2) per la tabella 0xe000000, prefisso 10.0.0.111/32, del client proto isis 17 isis node0_0_CPU0 - etichetta esistente 24005 aggiunta dal client proto-id 2 16

Come per il processo dei dettagli del messaggio, ipv4_rib ha generato un errore al tentativo dal protocollo Intermediate System-to-Intermediate System (IS-IS) - rib client 17 - di aggiungere un'etichetta locale 16111 per il prefisso 10.0.0.111/32. L'etichetta 24005 esiste già nel database RIB per lo stesso prefisso precedentemente aggiunto da un altro protocollo, rib client 16. In sintesi, due protocolli distinti hanno aggiunto un'etichetta locale diversa per lo stesso prefisso nel database RIB. Si tratta di una condizione di errore e il conflitto di etichette deve essere corretto e risolto.

Informazioni sull'origine dei messaggi

Una condizione di errore può verificarsi in uno scenario in cui più protocolli si scambiano etichette, ad esempio quando si utilizza contemporaneamente Border Gateway Protocol - Labeled Unicast (BGP-LU) e Segment-Routing (SR).

Si prenda in considerazione lo scenario in cui BGP-LU viene utilizzato tra gli host all'interno dello stesso sistema autonomo (AS) per annunciare i prefissi selezionati e le etichette associate. Il prefisso 10.0.0.111/32, noto tramite IS-IS, ha un'etichetta locale assegnata da BGP come mostrato:

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.

Il proprietario del protocollo dell'etichetta locale 24005 assegnata può essere confermato e verificato dalla tabella delle etichette 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)

Quando SR è abilitato nella rete, la condizione di errore viene attivata quando IS-IS aggiunge la propria etichetta nel database RIB. Ciò causa un conflitto tra le etichette e l'etichetta già presente e precedentemente allocata da BGP-LU. In questa fase, il messaggio di errore viene generato dal processo ipv4_rib e dagli avvisi per il tentativo da parte del protocollo IS-IS - rib client 17 - di aggiungere un'etichetta locale 16111 per il prefisso 10.0.0.111/32 per cui esiste già un'etichetta locale 24005 precedentemente aggiunta dal protocollo BGP - rib client 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 condizione di conflitto di etichette può essere rilevata e confermata dai dettagli dell'elenco di etichette locali della route del prefisso, come mostrato di seguito:

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.

Con il conflitto di etichette in atto, sia gli output relativi a BGP-LU che IS-IS forniscono ulteriori dettagli sull'etichetta locale assegnata da ogni protocollo specifico. Gli output successivi evidenziano le specifiche di ciascun protocollo in relazione sia al prefisso sia all'etichetta assegnata.

In uno scenario di conflitto di etichette, annotare il prefisso e i dettagli delle etichette, come mostrato nel protocollo 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)

In uno scenario di conflitto di etichette, il prefisso della nota e i dettagli dell'etichetta, come indicato dal protocollo 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)

Entrambi i protocolli e le etichette associate sono ora programmati e possono essere osservati dai dettagli di inoltro 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

Tuttavia, dai dettagli di inoltro del prefisso 10.0.0.111/32 è possibile osservare che l'etichetta assegnata iniziale 24005 è ancora in uso, come mostrato di seguito:

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

Nello scenario precedente, è possibile evitare l'occorrenza "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label" configurando il routing del segmento per BGP (SR-BGP) e utilizzando il prefisso BGP-SID.

Per informazioni dettagliate sulla SR-BGP, consultare la Guida alla configurazione del routing dei segmenti per i router Cisco ASR serie 9000. Di seguito sono riportati i riferimenti rapidi alle fasi necessarie.

Su tutti i nodi configurare un blocco globale SRGB (Segment Routing Global Block) che abiliterà automaticamente SR-BGP:

!

segment-routing

global-block 16000 23999

!

In fase di configurazione, BGP utilizzerà l'SRGB globale per l'allocazione delle etichette, come mostrato nell'output del comando "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>

Sul nodo BGP da cui ha origine la route, configurare il prefisso BGP-SID tramite un criterio di route. Viene mostrato un esempio di configurazione per il prefisso di annuncio del nodo 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

!

Con SR-BGP installato, la condizione "ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label" non si verificherà più. Come mostrato di seguito, BGP utilizzerà l'indice SID BGP-Prefix ricevuto con l'annuncio del prefisso come suggerimento per allocare l'etichetta locale da SRGB globale.

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.

Conclusioni

Il messaggio viene attivato quando due protocolli distinti hanno aggiunto un'etichetta locale diversa per lo stesso prefisso nel database RIB e l'aspetto importante da mantenere è che questa condizione di errore di conflitto di etichette deve essere evitata e la sua origine deve essere compresa e corretta.

Questo comportamento può essere evitato con l'uso di SR-BGP e BGP Prefix-SID.

Per ottenere output utili e utili per procedere con il triage e comprendere il messaggio "%ROUTING-RIB-3-LABEL_ERR_ADD: Add local-label", fare riferimento all'elenco di comandi mostrato:

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