목차

소개

배경 정보

문제

시나리오 1. 고유한 RD 값이 있는 인라인 RR 및 PE

시나리오 2. RD 값이 동일한 인라인 RR 및 PE

시나리오 3. 동일한 RD 값과 'cef encap-sharing disable'을 사용하는 인라인 RR 및 PE 구성

솔루션

소개

이 문서에서는 BGP(Border Gateway Protocol) VPNv4 RR(in-line Route Reflector) 및 PE(Provider Edge)로 사용되는 Cisco NCS(Systems Network Convergence System) 540의 동작을 설명합니다.

배경 정보

이 문서에서는 Cisco IOS® XR 소프트웨어 릴리스 7.3.1을 사용하는 랩 환경에서 검증된 NCS 540 동작에 대해 중점적으로 살펴봅니다. 이 문서에 설명된 동작은 모든 NCS5500 또는 NCS500 시리즈 DNX 기반 플랫폼 및 소프트웨어 릴리스에 적용됩니다.

문제

NCS540이 VRF(Virtual Routing and Forwarding) 인스턴스로 구성되고 원격 PE RR 클라이언트 노드에서 사용하는 것과 동일한 RD(Route-Distinguisher) 값을 사용하는 시나리오를 고려해 보십시오. 인라인 RR 및 PE 역할로 사용되고 원격 PE RR 클라이언트 노드와 동일한 RD 값으로 구성된 경우 맨 위의 레이블이 포워딩되기 전에 팝되지 않으므로 이그레스 PE에서 패킷 드롭이 발생합니다.

시나리오 1. 고유한 RD 값이 있는 인라인 RR 및 PE

이 그림에서는 BGP VPNv4 in-line RR로 구성된 DUT(Device Under Test)의 시나리오와 VRF vrf1에 대해 다른 RD 값이 다른 PE 노드에서 사용하는 시나리오와 다릅니다.

이미지 1 - DUT - 고유한 RD 값이 있는 인라인 RR 및 PE

VRF vrf1 내의 인그레스 PE(IP 10.51.232.21)과 이그레스 PE(10.51.232.145) 간 IP 연결은 Ping 및 Traceroute 명령 출력에 표시된 대로 PE 노드 간에 성공적으로 전달된 패킷으로 설정됩니다.

INGRESS_PE#ping vrf vrf1 10.51.232.145 source 10.51.232.21

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.51.232.145, timeout is 2 seconds:

Packet sent with a source address of 10.51.232.21

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

INGRESS_PE#traceroute vrf vrf1 10.51.232.145 source 10.51.232.21

Type escape sequence to abort.

Tracing the route to 10.51.232.145

VRF info: (vrf in name/id, vrf out name/id)

1 10.51.5.161 [MPLS: Label 24017 Exp 0] 4 msec 8 msec 0 msec

2 10.9.255.207 [MPLS: Labels 23481/24008 Exp 0] 4 msec 0 msec 0 msec

3 10.9.255.217 0 msec *  4 msec

DUT는 VRF가 로컬로 구성된 BGP VPNv4 인라인 RR 및 PE이지만 PE RR 클라이언트 노드(65000:104)에서 사용하는 것과 다른 RD 값(65000:104830)을 사용합니다. 출력에 표시된 대로 DUT는 모든 경로를 가져오고 그에 따라 VPNv4 레이블을 교환합니다.

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast

BGP router identifier 10.9.255.8, local AS number 65000

<snip>

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 65000:104 (default for vrf vrf1)

*>i0.0.0.0/0          10.48.255.30            10    100      0 ?

*>i10.51.232.20/30    10.51.5.5                0    100      0 ?

*>i10.51.232.145/32   10.48.255.30             0    100      0 ?

Route Distinguisher: 65000:104830

*>i0.0.0.0/0          10.48.255.30            10    100      0 ?

*>i10.51.232.20/30    10.51.5.5                0    100      0 ?

*>i10.51.232.145/32   10.48.255.30             0    100      0 ?

<snip>

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104 labels

BGP router identifier 10.9.255.8, local AS number 65000

<snip>

Network            Next Hop        Rcvd Label      Local Label

Route Distinguisher: 21497:104 (default for vrf vrf1)

*>i0.0.0.0/0          10.48.255.30    24008           nolabel

*>i10.51.232.20/30    10.51.5.5       17              nolabel

*>i10.51.232.145/32   10.48.255.30    24008           nolabel

<snip>

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104830 labels

BGP router identifier 10.9.255.8, local AS number 65000

<snip>

Network            Next Hop        Rcvd Label      Local Label

Route Distinguisher: 21497:104830

*>i0.0.0.0/0          10.48.255.30    24008           24018

*>i10.51.232.20/30    10.51.5.5       17              24019

*>i10.51.232.145/32   10.48.255.30    24008           24017

<snip>

고유한 RD 값을 사용하는 인라인 RR 및 PE의 현재 시나리오에서 추가 참조로, EGRESS_PE 노드에서 수신한 접두사 10.51.232.145/32의 전체 출력이 표시됩니다.

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104 10.51.232.145

BGP routing table entry for 10.51.232.145/32, Route Distinguisher: 65000:104

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                115         115

Last Modified: Feb  8 11:00:27.032 for 2w6d

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local, (received & used)

10.48.255.30 (metric 20) from 10.48.255.30 (10.48.255.30)

Received Label 24008

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 1, Local Path ID 1, version 115

Extended community: RT:65000:104830 RT:65000:105130

Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65000:104830

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104830 10.51.232.145

BGP routing table entry for 10.51.232.145/32, Route Distinguisher: 65000:104830

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                113         113

Local Label: 24017

Last Modified: Feb  8 11:00:22.032 for 2w6d

Paths: (1 available, best #1)

Advertised to peers (in unique update groups):

10.51.5.5

Path #1: Received by speaker 0

Advertised to peers (in unique update groups):

10.51.5.5

Local, (received & used)

10.48.255.30 (metric 20) from 10.48.255.30 (10.48.255.30)

Received Label 24008

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf

Received Path ID 1, Local Path ID 1, version 113

Extended community: RT:65000:104830 RT:65000:10513

INGRESS_PE(10.51.232.21)에서 소싱되고 EGRESS PE(10.51.232.145)으로 향하는 패킷은 레이블로 전환되며, DUT 상위 레이블 {24017}에서 프로그래밍된 포워딩 세부 정보에 따라 {23481 24008}에 의해 교체됩니다.

RP/0/RP0/CPU0:DUT-N540#show cef vrf vrf1 10.51.232.145/32 detail

10.51.232.145/32, version 96, internal 0x5000001 0x0 (ptr 0x8ce0d034) [1], 0x0 (0x8b941ee0), 0xa08 (0x8cacb5f8)

Updated Feb 25 12:18:36.885

Prefix Len 32, traffic index 0, precedence n/a, priority 3

gateway array (0x8b7b6fd0) reference count 2, flags 0x38, source rib (7), 0 backups

[3 type 1 flags 0x8441 (0x8cb11e28) ext 0x0 (0x0)]

LW-LDI[type=1, refc=1, ptr=0x8b941ee0, sh-ldi=0x8cb11e28]

gateway array update type-time 1 Feb 25 12:18:36.885

LDI Update time Feb 25 12:18:36.885

LW-LDI-TS Feb 25 12:18:36.885

via 10.48.255.30/32, 7 dependencies, recursive [flags 0x6000]

path-idx 0 NHID 0x0 [0x8d37e3b8 0x0]

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.48.255.30/32 via 23481/0/21

next hop 10.9.255.207/32 BE100        labels imposed {23481 24008}

Load distribution: 0 (refcount 3)

Hash  OK  Interface                 Address

0     Y   recursive                 23481/0

P-NODE에서 Netflow가 INGRESS_PE 노드에서 소싱된 인그레스 트래픽과 매칭하도록 구성되면 흐름 모니터 출력에 표시된 것처럼 예상 레이블 스택 {23481 24008}이 관찰됩니다.

RP/0/RP0/CPU0:P_NODE#show flow monitor MONITOR_MAP_MPLS cache location 0/RP0/CPU0

<snip>

LabelType Prefix/Length      Label1-EXP-S     Label2-EXP-S     Label3-EXP-S   InputInterface  OutputInterface ForwardStatus        FirstSwitched   LastSwitched    ByteCount    PacketCount  Dir SamplerID  IPV4SrcAddr      IPV4DstAddr      IPV4TOS  IPV4Prot L4SrcPort  L4DestPort L4TCPFlags   InputVRFID                        OutputVRFID                       BGPNextHopV4

Unknown 10.48.255.30/32       23481-0-0        24008-0-1           -

BE100           BE1             Fwd                  33 17:49:08:468 33 17:49:11:765 108000       1000         Ing 1          10.51.232.21     10.51.232.145    0        icmp     0          0          0            default                           default                           0.0.0.0

<snip>

시나리오 2. RD 값이 동일한 인라인 RR 및 PE

이 그림에서는 DUT가 BGP VPNv4 in-line RR 및 PE로 구성되었지만 VRF vrf1 - 65000:10430에 대해 다른 PE 노드와 동일한 RD 값으로 구성된 문제가 있는 시나리오를 보여 줍니다.

이미지 2 - DUT - RD 값이 동일한 인라인 RR 및 PE

이 시나리오에서는 Ping 및 Traceroute 명령 출력과 같이 VRF vrf1 내의 Ingress PE(IP 10.51.232.21)과 Egress PE(10.51.232.145) 간의 IP 연결이 실패합니다.

INGRESS_PE#ping vrf vrf1 10.51.232.145 source 10.51.232.21

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.51.232.145, timeout is 2 seconds:

Packet sent with a source address of 10.51.232.21

.....

Success rate is 0 percent (0/5)

INGRESS_PE#traceroute vrf vrf1 10.51.232.145 source 10.51.232.21

Type escape sequence to abort.

Tracing the route to 10.51.232.145

VRF info: (vrf in name/id, vrf out name/id)

1 10.51.5.161 [MPLS: Label 24013 Exp 0] 4 msec 4 msec 0 msec

2  *  *  *

<snip>

DUT에서는 BGP 또는 프로그래밍된 포워딩 출력에서 문제 발생 원인을 명확하게 인지하지 못하는데 모든 것이 예상된 것처럼 보입니다.

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast

BGP router identifier 10.9.255.8, local AS number 65000

<snip>

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 65000:104830 (default for vrf vrf1)

*>i0.0.0.0/0          10.48.255.30            10    100      0 ?

*>i10.51.232.20/30    10.51.5.5                0    100      0 ?

*>i10.51.232.145/32   10.48.255.30             0    100      0 ?

<snip>

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104830 labels

BGP router identifier 10.9.255.8, local AS number 65000

<snip>

Network            Next Hop        Rcvd Label      Local Label

Route Distinguisher: 21497:104830 (default for vrf vrf1)

*>i0.0.0.0/0          10.48.255.30    24008           24020

*>i10.51.232.20/30    10.51.5.5       17              24016

*>i10.51.232.145/32   10.48.255.30    24008           24013

<snip>

이전 섹션과 유사하며 동일한 RD 값을 사용하는 인라인 RR 및 PE의 현재 시나리오에서 추가 참조로 EGRESS_PE 노드에서 수신한 접두사 10.51.232.145/32의 전체 출력이 표시됩니다.

RP/0/RP0/CPU0:DUT-N540#show bgp vpnv4 unicast rd 65000:104830 10.51.232.145

BGP routing table entry for 10.51.232.145/32, Route Distinguisher: 65000:104830

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                134         134

Local Label: 24013

Last Modified: Feb 28 18:03:20.032 for 00:04:50

Paths: (1 available, best #1)

Advertised to peers (in unique update groups):

10.51.5.5

Path #1: Received by speaker 0

Advertised to peers (in unique update groups):

10.51.5.5

Local, (received & used)

10.48.255.30 (metric 20) from 10.48.255.30 (10.48.255.30)

Received Label 24008

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 1, Local Path ID 1, version 134

Extended community: RT:65000:104830 RT:65000:105130

Source AFI: VPNv4 Unicast, Source VRF: vrf1, Source Route Distinguisher: 65000:10483

INGRESS_PE(10.51.232.21)에서 소싱되고 EGRESS PE(10.51.232.145)으로 향하는 패킷은 레이블이 전환되며, DUT에서 이러한 패킷의 최상위 레이블 {24013}이 프로그래밍 된 전달 세부 정보에 따라 {23481 24008}로 바꿨을 예상합니다.

RP/0/RP0/CPU0:DUT-N540#show cef vrf vrf1 10.51.232.145/32 detail

10.51.232.145/32, version 107, internal 0x1000001 0x0 (ptr 0x8ce0d13c) [1], 0x0 (0x8b946be8), 0xa08 (0x8cacb7d8)

Updated Feb 28 18:03:19.778

Prefix Len 32, traffic index 0, precedence n/a, priority 3

gateway array (0x8b7b71a0) reference count 6, flags 0x78, source rib (7), 0 backups

[3 type 5 flags 0x8441 (0x8cb125d8) ext 0x0 (0x0)]

LW-LDI[type=5, refc=3, ptr=0x8b946be8, sh-ldi=0x8cb125d8]

gateway array update type-time 1 Feb 28 18:03:19.778

LDI Update time Feb 28 18:03:19.778

LW-LDI-TS Feb 28 18:03:19.778

via 10.48.255.30/32, 7 dependencies, recursive [flags 0x6000]

path-idx 0 NHID 0x0 [0x8d37e3b8 0x0]

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.48.255.30/32 via 23481/0/21

local label 24013

next hop 10.9.255.207/32 BE100        labels imposed {23481 24008}

Load distribution: 0 (refcount 3)

Hash  OK  Interface                 Address

0     Y   recursive                 23481/0

또한 INGRESS_PE에서 소싱된 인그레스 트래픽과 일치하도록 Netflow가 구성된 P_NODE에서 분류하면 DUT가 패킷을 전달하는 방법에 문제가 발생하는 것입니다. 표시된 출력에서 강조 표시된 것처럼 패킷을 전달하기 전에 DUT에서 로컬 레이블 24013이 팝업되지 않습니다. 따라서 P_NODE는 예상 2개 레이블 스태킹된 {23481 24008} 대신 3개 레이블 스태킹된 MPLS 프레임 {23481 24008}을 수신합니다. P_NODE 상위 레이블 23481에서 EGRESS_PE로 전달된 패킷은 레이블 스택 {24008 24013}로 전달되며, 이로 인해 EGRESS_PE에서 패킷이 삭제됩니다.

RP/0/RP0/CPU0:P_NODE#show flow monitor MONITOR_MAP_MPLS cache location 0/RP0/CPU0

<snip>

LabelType Prefix/Length      Label1-EXP-S     Label2-EXP-S     Label3-EXP-S     InputInterface  OutputInterface ForwardStatus        FirstSwitched   LastSwitched    ByteCount    PacketCount  Dir SamplerID  IPV4SrcAddr      IPV4DstAddr      IPV4TOS  IPV4Prot L4SrcPort  L4DestPort L4TCPFlags   InputVRFID                        OutputVRFID                       BGPNextHopV4

Unknown 10.48.255.30/32       23481-0-0        24008-0-0        24013-0-1       BE100           BE1             Fwd                  33 17:51:40:181 33 17:51:41:521 112000       1000         Ing 1          10.51.232.21     10.51.232.145    0        icmp     0          0          0            default                           default                           0.0.0.0

<snip>

시나리오 3. 동일한 RD 값과 'cef encap-sharing disable'을 사용하는 인라인 RR 및 PE 구성

이전 시나리오의 상단에서 cef encap-sharing disable이 구성되고 각 접두사에 별도의 하드웨어 리소스가 할당됩니다.

RP/0/RP0/CPU0:DUT-N540(config)#cef encap-sharing disable

Warning: The command will clear the forwarding table.Traffic loss is expected during rebuilding.

RP/0/RP0/CPU0:DUT-N540(config)#commit

이 이미지는 동일한 RD로 구성되고 cef 캡슐화 공유가 비활성화된 상태로 구성된 인라인 RR 및 PE의 시나리오를 나타냅니다.

이미지 3 - DUT - 동일한 RD 값과 'cef encap-sharing disable'이 구성된 인라인 RR 및 PE

VRF vrf1 내의 인그레스 PE(IP 10.51.232.21)과 이그레스 PE(10.51.232.145) 간의 IP 연결은 Ping 및 Traceroute 명령 출력에 표시된 대로 PE 노드 간에 성공적으로 전달된 패킷으로 복원됩니다.

INGRESS_PE#ping vrf vrf1 10.51.232.145 source 10.51.232.21 repeat 1000

Type escape sequence to abort.

Sending 1000, 100-byte ICMP Echos to 10.51.232.145, timeout is 2 seconds:

Packet sent with a source address of 10.51.232.21

<snip>

Success rate is 100 percent (1000/1000), round-trip min/avg/max = 1/3/12 ms

INGRESS_PE#traceroute vrf vrf1 10.51.232.145 source 10.51.232.21

Type escape sequence to abort.

Tracing the route to 10.51.232.145

VRF info: (vrf in name/id, vrf out name/id)

1 10.51.5.161 [MPLS: Label 24013 Exp 0] 0 msec 0 msec 0 msec

2 10.9.255.207 [MPLS: Labels 23481/24008 Exp 0] 4 msec 4 msec 0 msec

3 10.9.255.217 0 msec *  0 msec

P_NODE에서 Netflow 출력은 DUT가 이제 예상 레이블 스택 {23481 24008}의 패킷을 전달합니다. P_NODE는 상위 레이블 23481을 제거하고 레이블 스택이 {24008}인 EGRESS_PE 노드로 패킷을 전달합니다. EGRESS_PE는 VRF1 내의 최종 목적지로 캡슐화된 패킷을 일치시키고 전달할 수 있습니다.

RP/0/RP0/CPU0:P_NODE#show flow monitor MONITOR_MAP_MPLS cache location 0/RP0/CPU0

Cache summary for Flow Monitor MONITOR_MAP_MPLS:

<snip>

LabelType Prefix/Length      Label1-EXP-S     Label2-EXP-S     Label3-EXP-S     InputInterface  OutputInterface ForwardStatus        FirstSwitched   LastSwitched    ByteCount    PacketCount  Dir SamplerID  IPV4SrcAddr      IPV4DstAddr      IPV4TOS  IPV4Prot L4SrcPort  L4DestPort L4TCPFlags   InputVRFID                        OutputVRFID                       BGPNextHopV4

Unknown 10.48.255.30/32       23481-0-0        24008-0-1           -          BE100           BE1             Fwd                  33 18:03:14:211 33 18:03:17:505 108000       1000         Ing 1          10.51.232.21     10.51.232.145    0        icmp     0          0          0            default                           default                           0.0.0.0

<snip>

cef encap-sharing disable 컨피그레이션을 사용하면 모든 접두사에 추가 하드웨어 리소스가 할당되며, 동일한 RD 값으로 인라인 RR의 이 특정 시나리오에서 패킷을 올바르게 전달하기 위해 필요한 포워딩 정보가 DUT에 배치됩니다. 프로그래밍된 포워딩 세부사항과 관련된 차이점을 강조하기 위해 show cef vrf vrf1 10.51.232.145/32 hardware egress location 0/RP0/CPU0에 표시된 두 출력을 참조하고 cef encap-sharing disable이 구성된 경우 추가 정보를 참고하십시오.

인라인 RR 및 PE의 시나리오에서 동일한 RD 값을 사용하지만 'cef encap-sharing disable'이 구성되지 않은 경우(기본값):

!

! --- without 'cef encap-sharing disable' (default)

! --- note highlighted (bold) sections

!

RP/0/RP0/CPU0:DUT-N540#show cef vrf vrf1 10.51.232.145/32 hardware egress location 0/RP0/CPU0

10.51.232.145/32, version 107, internal 0x1000001 0x0 (ptr 0x8ce0d13c) [1], 0x0 (0x8b946be8), 0xa08 (0x8cacb7d8)

Updated Feb 28 18:03:19.778

Prefix Len 32, traffic index 0, precedence n/a, priority 3

gateway array (0x8b7b71a0) reference count 6, flags 0x78, source rib (7), 0 backups

[3 type 5 flags 0x8441 (0x8cb125d8) ext 0x0 (0x0)]

LW-LDI[type=5, refc=3, ptr=0x8b946be8, sh-ldi=0x8cb125d8]

gateway array update type-time 1 Feb 28 18:03:19.778

LDI Update time Feb 28 18:03:19.778

LW-LDI-TS Feb 28 18:03:19.778

via 10.48.255.30/32, 7 dependencies, recursive [flags 0x6000]

path-idx 0 NHID 0x0 [0x8d37e3b8 0x0]

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.48.255.30/32 via 23481/0/21

local label 24013

next hop 10.9.255.207/32 BE100        labels imposed {23481 24008}

Show-data Print at RPLC

LEAF - HAL pd context :

sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

HW Walk:

LEAF:

PI:0x8ce0d13c PD:0x8ce0d1dc rev:892768 type: IPV4 (0)

LEAF location: LEM

FEC key: 0x57f40001104

LWLDI:

PI:0x8b946be8 PD:0x8b946c28 rev:892767 p-rev:892766  ldi type:IMP_EOS0_EOS1

FEC key: 0x57f40001104 fec index: 0x0(0) num paths:1, bkup paths: 0

REC-SHLDI HAL PD context :

ecd_marked:0, collapse_bwalk_required:0, load_shared_lb:0

RSHLDI:

PI:0x8cb125d8 PD:0x8cb126a8 rev:892766 dpa-rev:41494702 flag:0x1

FEC key: 0x57f40001104 fec index: 0x2000ffcc(65484) num paths: 1

p-rev:854950

Path:0 fec index: 0x2000ffcc(65484) DSP fec index: 0x2000ffca(65482)

MPLS EEI push label: 24008

LEAF - HAL pd context :

sub-type : MPLS, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

HW Walk:

LEAF:

PI:0x8d37e3b8 PD:0x8d37e458 rev:854953 type: MPLS (2)

LEAF location: LEM

FEC key: 0

LWLDI:

PI:0x8b945288 PD:0x8b9452c8 rev:854950 p-rev:854949  ldi type:IMP_EOS0_EOS1

FEC key: 0x51140001104 fec index: 0x0(0) num paths:1, bkup paths: 0

IMP LDI:

IMP pattern:3

PI:0x8b945288 PD:0x8b9452c8 rev:854950 p-rev:854949

FEC key: 0x51240001104 fec index: 0x2000ffca(65482) num paths:1

Path:0  fec index: 0x2000ffca(65482) DSP:0xc000001

MPLS encap key: 0xf1b0000040014822 MPLS encap id: 0x40014822 Remote: 0

SHLDI:

PI:0x8cb10718 PD:0x8cb107e8 rev:854949 dpa-rev:39755988 flag:0x0

FEC key: 0x51140001104 fec index: 0x2000ffcb(65483) num paths: 1 bkup paths: 0

p-rev:72522

Path:0 fec index: 0x2000ffcb(65483) DSP:0xc000001 Dest fec index: 0x0(0)

TX-NHINFO:

PI: 0x8d11fad0 PD: 0x8d11fb50 rev:72522 dpa-rev:3303803 Encap hdl: 0x8cd16098

Encap id: 0x40010003 Remote: 0 L3 int: 1579 flags: 0x407

npu_mask: 0x1 DMAC: 5c:5a:c7:ff:78:84

Load distribution: 0 (refcount 3)

Hash  OK  Interface                 Address

0     Y   recursive                 23481/0

동일한 RD 값 및 cef 캡슐화 공유 비활성화가 구성된 인라인 RR 및 PE의 시나리오에서 볼 수 있습니다.

!

! --- with 'cef encap-sharing disable'

! --- note highlighted (bold) sections for the extra and additional forwarding information included

!

RP/0/RP0/CPU0:DUT-N540#show cef vrf vrf1 10.51.232.145/32 hardware egress location 0/RP0/CPU0

10.51.232.145/32, version 127, internal 0x1000001 0x0 (ptr 0x8ce0ffa4) [1], 0x0 (0x8b948630), 0xa08 (0x8cacb5f8)

Updated Feb 28 18:26:25.775

Prefix Len 32, traffic index 0, precedence n/a, priority 3

gateway array (0x8b7b5f80) reference count 3, flags 0x78, source rib (7), 0 backups

[2 type 5 flags 0x8441 (0x8cb14c48) ext 0x0 (0x0)]

LW-LDI[type=5, refc=3, ptr=0x8b948630, sh-ldi=0x8cb14c48]

gateway array update type-time 1 Feb 28 18:26:25.775

LDI Update time Feb 28 18:26:25.775

LW-LDI-TS Feb 28 18:26:25.779

via 10.48.255.30/32, 11 dependencies, recursive [flags 0x6000]

path-idx 0 NHID 0x0 [0x8d37e3b8 0x0]

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.48.255.30/32 via 23481/0/21

local label 24013

next hop 10.9.255.207/32 BE100        labels imposed {23481 24008}

Show-data Print at RPLC

LEAF - HAL pd context :

sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

HW Walk:

LEAF:

PI:0x8ce0ffa4 PD:0x8ce10044 rev:893768 type: IPV4 (0)

LEAF location: LEM

FEC key: 0x5ae40001104

LWLDI:

LSP pattern:3

PI:0x8b948630 PD:0x8b948670 rev:893767 p-rev:893766  ldi type:IMP_EOS0_EOS1

FEC key: 0x5af40001104 fec index: 0x2000ffbf(65471) num paths:1, bkup paths: 0

Path:0  fec index: 0x2000ffbf(65471) DSP fec index:0x20000001(1)

MPLS encap key: 0xf1b000004001482f MPLS encap id: 0x4001482f Remote: 0

IMP LDI:

IMP pattern:3

PI:0x8b948630 PD:0x8b948670 rev:893767 p-rev:893766

FEC key: 0x5ae40001104 fec index: 0x2000ffc0(65472) num paths:1

Path:0  fec index: 0x2000ffc0(65472) DSP fec index: 0x20000001(1)

MPLS encap key: 0xf1b000004001482e MPLS encap id: 0x4001482e Remote: 0

REC-SHLDI HAL PD context :

ecd_marked:0, collapse_bwalk_required:0, load_shared_lb:0

RSHLDI:

PI:0x8cb14c48 PD:0x8cb14d18 rev:893766 dpa-rev:41503635 flag:0x1

FEC key: 0x5ac40001104 fec index: 0x2000ffe0(65504) num paths: 1

p-rev:893704

Indirection ECMP FEC key: 0x5ad20001104 fec index: 0x20000001(1)

Path:0 fec index: 0x2000ffe0(65504) DSP fec index: 0x2000ffca(65482)

LEAF - HAL pd context :

sub-type : MPLS, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

HW Walk:

LEAF:

PI:0x8d37e3b8 PD:0x8d37e458 rev:893707 type: MPLS (2)

LEAF location: LEM

FEC key: 0

LWLDI:

PI:0x8b9451a0 PD:0x8b9451e0 rev:893704 p-rev:893703  ldi type:IMP_EOS0_EOS1

FEC key: 0x59f40001104 fec index: 0x0(0) num paths:1, bkup paths: 0

IMP LDI:

IMP pattern:3

PI:0x8b9451a0 PD:0x8b9451e0 rev:893704 p-rev:893703

FEC key: 0x5a040001104 fec index: 0x2000ffca(65482) num paths:1

Path:0  fec index: 0x2000ffca(65482) DSP:0xc000001

MPLS encap key: 0xf1b0000040014822 MPLS encap id: 0x40014822 Remote: 0

SHLDI:

PI:0x8cb112a0 PD:0x8cb11370 rev:893703 dpa-rev:41503599 flag:0x0

FEC key: 0x59f40001104 fec index: 0x2000ffcb(65483) num paths: 1 bkup paths: 0

p-rev:72522

Path:0 fec index: 0x2000ffcb(65483) DSP:0xc000001 Dest fec index: 0x0(0)

TX-NHINFO:

PI: 0x8d11fad0 PD: 0x8d11fb50 rev:72522 dpa-rev:3303803 Encap hdl: 0x8cd16098

Encap id: 0x40010003 Remote: 0 L3 int: 1579 flags: 0x407

npu_mask: 0x1 DMAC: 5c:5a:c7:ff:78:84

Load distribution: 0 (refcount 2)

Hash  OK  Interface                 Address

0     Y   recursive                 23481/0

솔루션

이 문서에서 설명한 것처럼 동일한 RD 값을 가진 인라인 RR에서 팝업되지 않는 최상위 레이블의 부적절한 레이블 작업을 위한 솔루션은 cef encap-sharing disable을 구성하는 것입니다. 이 구성은 이 특정 시나리오에서 필수 사항이며 각 접두사에 대해 별도의 하드웨어 리소스가 할당되어 인라인 RR 노드에서 적절한 레이블 작업과 포워딩이 발생하도록 보장합니다.

컨피그레이션 커밋 전에 사용 가능한 리소스 사용량을 평가하여 명령이 커밋되면 리소스 조건을 예상해야 합니다. 실제 리소스 소비를 확인하고 확인하려면 다음 명령을 사용할 수 있습니다.

show controllers npu resources all location all

show controllers fia diagshell 0 "diag alloc all" location all

참고: Cisco 버그 ID CSCvw20873 - L3VPN LSP 경로(레이블 교환) 최적화 - cef encap-sharing disable이 구성된 상태로 소비되고 할당된 리소스에 대한 최적화를 도입합니다.