Hướng Dẫn Cấu Hình Và Xác Minh MPLS Trên Cisco Catalyst 9000 Switch

MPLS TRÊN SWITCH CISCO CATALYST 9000 LÀ GÌ?

MPLS Trên Switch Cisco Catalyst 9000 Series
MPLS Trên Switch Cisco Catalyst 9000 Series

MPLS Layer 3 VPN trên các thiết bị Cisco Catalyst 9000 Series với các sản phẩm: Cisco 9200, Cisco 9300, Cisco 9400, Cisco 9500, Cisco 9600 sử dụng mô hình peer-to-peer sử dụng BGP để phân phối thông tin liên quan đến VPN. MPLS VPN bao gồm một tập hợp các trang được kết nối với nhau bằng mạng lõi của nhà cung cấp MPLS. Tại mỗi trang web của khách hàng, một hoặc nhiều thiết bị edge của khách hàng gắn với một hoặc nhiều thiết bị provide edge.

Trong định tuyến layer 3 thông thường, khi một gói đi qua mạng, mỗi bộ chuyển mạch sẽ trích xuất tất cả thông tin liên quan để chuyển tiếp gói đó từ tiêu đề layer 3. Thông tin này sau đó được sử dụng như một chỉ mục cho tra cứu bảng định tuyến để xác định bước tiếp theo cho gói tin.

Trong trường hợp phổ biến nhất, trường có liên quan duy nhất trong tiêu đề là trường địa chỉ đích, nhưng trong một số trường hợp, các trường tiêu đề khác cũng có thể liên quan. Kết quả là, phân tích tiêu đề phải được thực hiện độc lập tại mỗi thiết bị Switch mà gói tin đi qua. Ngoài ra, việc tra cứu bảng phức tạp cũng phải được thực hiện ở mỗi switch.

Trong label switching, việc phân tích tiêu đề layer 3 chỉ được thực hiện một lần. Tiêu đề layer 3 sau đó được ánh xạ thành một giá trị có độ dài cố định, không có cấu trúc được gọi là label.

Nhiều tiêu đề khác nhau có thể ánh xạ đến cùng một label, miễn là những tiêu đề đó luôn dẫn đến cùng một lực chọn của bước tiếp theo. Trên thực tế, một label đại diện cho một forwarding equivalence class (FEC), tức là một tập hợp các gói, tuy khác nhau nhưng chúng có thể không thể phân biệt được bằng chức năng chuyển tiếp.

Lựa chọn ban đầu của một label không cần chỉ dựa trên nội dung của tiêu đề gói layer 3. Ví dụ, quyết định chuyển tiếp gói tin ở các bước tiếp theo cũng có thể dựa trên các yếu tố khác.

Sau khi một label được gán, một tiêu đề nhãn ngắn sẽ được thêm vào ở phía trước của gói Lớp 3. Tiêu đề này được truyền qua mạng như một phần của gói. Tại các bước tiếp theo thông qua mỗi chuyển mạch MPLS trong mạng, các nhãn được hoán đổi và các quyết định được thực hiện bằng cách tra cứu bảng chuyển tiếp MPLS cho nhãn mang trong tiêu đề gói. Do đó, tiêu đề gói không cần phải được đánh giá lại trong quá trình truyền gói qua mạng. Bởi vì nhãn có độ dài cố định và không có cấu trúc, quá trình tra cứu bảng chuyển tiếp MPLS vừa đơn giản vừa nhanh chóng.

Mỗi Label Switching Router (LSR) trong mạng đưa ra quyết định cục bộ, độc lập về việc sử dụng giá trị label nào để đại diện cho một lớp tương đương chuyển tiếp. Liên kết này được gọi là liên kết label. Mỗi LSR thông báo cho các neighbor của nó về các ràng buộc label mà nó đã thực hiện. Nhận thức này về các ràng buộc label bởi các thiết bị switch lân cận được hỗ trợ bởi các giao thức sau:

  • Label Distribution Protocol (LDP): Cho phép các LSR ngang hàng trong mạng MPLS trao đổi thông tin label để hỗ trợ chuyển tiếp từng bước trong mạng MPLS
  • Border Gateway Protocol (BGP): Được sử dụng để hỗ trợ MPLS Virtual Private Networks (VPNs)

Khi một gói có label được gửi từ LSR A đến LSR B, giá trị label được mang bởi gói IP là giá trị label mà LSR B được gán để đại diện cho lớp tương đương chuyển tiếp của gói. Do đó, giá trị label thay đổi khi gói IP truyền qua mạng.


CÁC THUẬT NGỮ LIÊN QUAN ĐẾN MPLS TRÊN SWITCH CISCO CATALYST 9000

Bảng dưới đây thể hiện các thuật ngữ liên quan đến MPLS trên Switch Cisco 9000 Series

MPLS Multi-Protocol Label Switching Công nghệ chuyển tiếp gói hiệu suất cao tích hợp khả năng quản lý hiệu suất và lưu lượng của chuyển mạch lớp liên kết dữ liệu (Layer 2) với khả năng mở rộng, tính linh hoạt và hiệu suất của định tuyến lớp mạng (Layer 3).
PE Provider Edge (switch/router) Thiết bị Edge của mạng nhà cung cấp nhận tiền tố IP từ CE của khách hàng và chuyển chúng vào cloud MPLS.
CE Customer Edge (switch/router) Một thiết bị tại cơ sở của khách hàng được kết nối với thiết bị edge router của nhà cung cấp của mạng IP/MPLS của nhà cung cấp dịch vụ
LDP Label Discovery Protocol  LDP là một giao thức tự động tạo và trao đổi nhãn giữa các bộ định tuyến. Mỗi bộ định tuyến cục bộ tạo label cho các tiền tố của nó và sau đó giới thiệu các giá trị label cho các neighbor của nó.  
LSPA Label Switch Path Array Tập hợp các nhãn để tiếp cận một điểm đến MPLS cụ thể. Trong một L3VPN điển hình – bạn có thể có nhãn IGP + VPN. Nếu có TE tunnel, thì bạn có nhãn TE + IGP + VPN. Catalyst 9000 có thể hỗ trợ tối đa 6 label và mảng label này được gọi là LSPA.
Label Stack Id Label Stack Id Một chỉ mục duy nhất để xác định label stack (cho phép chia sẻ LSPA).
Label Label Nhãn MPLS được sử dụng để tra cứu. Nhiều label tạo nên label stack.
Prefix ID Prefix Identifier Cisco Catalyst 9000 tạo tài nguyên global cho mọi tiền tố.
EM Exact Match Một mục nhập trong bộ nhớ Hash memory là một đối sánh 1:1 (host route, máy chủ được kết nối trực tiếp).
LPM Longest Prefix Match Bất kỳ route nào bằng /31 hoặc ngắn hơn (/32 routes là loại EM).
TCAM Ternary Content-Addressable Memory Một loại bộ nhớ lưu trữ và truy vấn các mục nhập có ba đầu vào khác nhau: 0, 1 và X. Loại bộ nhớ này phải được sử dụng trong trường hợp có thể có nhiều kết quả khớp với cùng một mục nhập và kết quả Hash cho mỗi đầu vào sẽ không phải là duy nhất . Bảng này bao gồm một mask hoặc giá trị “X” cho phép nó biết liệu nó khớp hay không khớp với mục nhập này.
CAM Content-Addressable Memory Thuật ngữ chung cho bộ nhớ phần cứng (Hash/TCAM)
RIB Routing Information Base Bảng định tuyến được nhìn thấy trong ‘show ip route’
FIB Forwarding Information Base Bảng đơn giản hóa với các tiền tố được thêm vào bởi bảng RIB và ARP với một con trỏ đến bảng ADJ
Directly Connected  Directly Connected Route Tiền tố máy chủ được kết nối cục bộ (ARP liền kề)
Indirectly Connected  Indirectly Connected Route Một định tuyến đi qua remote từ xa để đến
ADJ Adjacency (table) Lưu trữ thông tin bước tiếp theo được sử dụng để viết lại gói
EM Exact Match Máy chủ được kết nối, tiền tố máy chủ gián tiếp /32
TCAM Ternary Content-Addressable Memory Tiền tố gián tiếp /31 hoặc ngắn hơn
FED Forward Engine Driver Lớp ASIC (phần cứng)
FMAN-FP Forward Manager- Forwarding Plane FMAN-FP quản lý các phần mềm được thêm, xóa hoặc sửa đổi thông tin FED
SI Station Index Chỉ số Station = thông tin ghi lại gói (RI = chỉ số ghi lại) & thông tin giao diện gửi đi (DI = chỉ số đích)
RI Rewrite Index  Địa chỉ MAC ghi lại thông tin cho chuyển tiếp layer 3 đến bước kế cận bước nhảy tiếp theo
DI Destination Index Lập chỉ mục trỏ đến giao diện gửi đi

HƯỚNG DẪN CẤU HÌNH VÀ XÁC MINH MPLS TRÊN CISCO CATALYST 9000 SERIES

Tình Huống 1: L3VPN Với Single Hop Adjacency Trong MPLS Core

Cấu Trúc Liên Kết Tham Chiếu

Trong ví dụ sau đây, thiết bị Switch Cisco 9300 hoạt động như một thiết bị PE, thiết bị Cisco Catalyst 9500 trong chức năng Stackwise Virtual như thiết bị P và thiết bị Cisco Catalyst 3850 hoạt động như thiết bị CE.

Cấu Trúc Liên Kết Catalyst MPLS L3VPN Topology số 1
Cấu Trúc Liên Kết Catalyst MPLS L3VPN Topology số 1

Chi Tiết Cấu Hình

Cấu hình của C3850-CE-1

hostname C3850-CE-1
!
interface Loopback0
ip address 192.168.3.1 255.255.255.0
!
interface TenGigabitEthernet1/0/1
no switchport
ip address 10.0.0.1 255.255.255.252
!
router eigrp 420
network 10.0.0.0 0.0.0.3
network 192.168.3.0 0.0.0.255
eigrp stub connected summary
!
ip route 0.0.0.0 0.0.0.0 10.0.0.2

Cấu hình của C9300-PE-1

hostname C9300-PE-1
!
ip vrf RED
rd 69:69
route-target export 69:69
route-target import 69:69
!
mpls ldp explicit-null
!
interface Loopback0
ip address 192.168.1.2 255.255.255.255
!
interface GigabitEthernet1/0/1
no switchport
ip vrf forwarding RED
ip address 10.0.0.2 255.255.255.252
!
interface GigabitEthernet1/0/2
no switchport
ip address 10.0.0.5 255.255.255.252
!
router eigrp 420
!
address-family ipv4 vrf RED
network 10.0.0.0 0.0.0.3
autonomous-system 420
exit-address-family
!
router ospf 420
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig
!
router bgp 69420
bgp log-neighbor-changes
neighbor 192.168.1.4 remote-as 69420
neighbor 192.168.1.4 update-source Loopback0
!
address-family vpnv4
neighbor 192.168.1.4 activate
neighbor 192.168.1.4 send-community extended
exit-address-family
!
address-family ipv4 vrf RED
redistribute eigrp 420
exit-address-family

Cấu hình của C9500-P

hostname C9500-P
!
interface Loopback0
ip address 192.168.1.3 255.255.255.255
!
interface TenGigabitEthernet1/0/1
no switchport
ip address 10.0.0.6 255.255.255.252
!
interface TenGigabitEthernet1/0/2
no switchport
ip address 10.0.0.13 255.255.255.252
!
router ospf 420
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig

Cấu hình của C9300-CE-2

hostname C9300-PE-2
!
ip vrf RED
rd 69:69
route-target export 69:69
route-target import 69:69
!
mpls ldp explicit-null
!
interface Loopback0
ip address 192.168.1.4 255.255.255.255
!
interface GigabitEthernet2/0/1
no switchport
ip vrf forwarding RED
ip address 10.0.0.21 255.255.255.252
!
interface GigabitEthernet2/0/2
no switchport
ip address 10.0.0.14 255.255.255.252
!
router eigrp 400
!
address-family ipv4 vrf RED
network 10.0.0.20 0.0.0.3
autonomous-system 400
exit-address-family
!
router ospf 420
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig
!
router bgp 69420
bgp log-neighbor-changes
neighbor 192.168.1.2 remote-as 69420
neighbor192.168.1.2 update-source Loopback0
!
address-family vpnv4
neighbor 192.168.1.2 activate
neighbor 192.168.1.2 send-community extended
exit-address-family
!
address-family ipv4 vrf RED
redistribute eigrp 400
exit-address-family

Cấu hình của C3850-CE-2

hostname C3850-CE-2
!
interface Loopback0
ip address 192.168.2.1 255.255.255.0
!
interface TenGigabitEthernet2/0/1
no switchport
ip address 10.0.0.22 255.255.255.252
!
router eigrp 400
network 10.0.0.20 0.0.0.3
network 192.168.2.0 0.0.0.255
eigrp stub connected summary
!
ip route 0.0.0.0 0.0.0.0 10.0.0.21

Xác Thực Cơ Bản

Trước khi xác thực lập trình MPLS, có các yêu cầu cơ bản sau cần được xác thực:

  • Xác thực kết nối PE đến PE hiện có
  • Xác thực đường dẫn chuyển mạch nhãn (LSP) giữa các PE
  • Xác thực thời gian liền kề BGPv4 giữa các PE
  • Xác thực các nhãn VPNv4 và LDP
  • Xác thực MPLS Forwarding Table

Xác thực kết nối PE đến PE

Bạn có thể ping vòng lặp PE từ xa và nguồn từ vòng lặp cục bộ, nhưng điều này không xác nhận đường dẫn chuyển mạch nhãn MPLS (LSP) là tốt, vì địa chỉ IP của vòng lặp được quảng bá trong lớp dưới.

C9300-PE-1#ping 192.168.1.4 source 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.4, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

C9300-PE-1#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
Known via "ospf 420", distance 110, metric 3, type intra area
Last update from 10.0.0.10 on GigabitEthernet1/0/3, 00:55:58 ago
Routing Descriptor Blocks:
* 10.0.0.6, from 192.168.1.4, 00:55:58 ago, via GigabitEthernet1/0/2
Route metric is 3, traffic share count is 1

Xác thực LSP

Bạn có thể sử dụng một lộ trình theo dõi MPLS từ PE đến PE loopback để xác thực LSP và tất cả các nhãn MPLS LDP dọc theo đường dẫn.

C9300-PE-1#traceroute mpls ipv4 192.168.1.4/32 source 192.168.1.2
Tracing MPLS Label Switched Path to 192.168.1.4/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 10.0.0.5 MRU 1500 [Labels: 17 Exp: 0]
L 1 10.0.0.6 MRU 1500 [Labels: explicit-null Exp: 0] 8 ms
! 2 10.0.0.14 2 ms

Nếu bạn không có quyền truy cập vào CE hoặc thiết bị đằng sau CE và bạn muốn chứng minh rằng có sự áp đặt/bố trí nhãn VPNv4 và LDP thành công, bạn có thể thử ping từ giao diện hướng tới CE trong VRF trên PE tới giao diện hướng tới CE khác trong VRF trên PE từ xa.

C9300-PE-1#ping vrf RED 10.0.0.21 source 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.21, timeout is 2 seconds:
Packet sent with a source address of 10.0.0.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Xác thực thời gian liền kề BGPv4 giữa các PE

C9300-PE-1#show bgp vpnv4 unicast all neighbors 192.168.1.4
BGP neighbor is 192.168.1.4, remote AS 69420, internal link
BGP version 4, remote router ID 192.168.1.4
BGP state = Established, up for 00:57:37
Last read 00:00:41, last write 00:00:41, hold time is 180, keepalive interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
Neighbor capabilities:
Route refresh: advertised and received(new)
Four-octets ASN Capability: advertised and received
Address family IPv4 Unicast: advertised and received
Address family VPNv4 Unicast: advertised and received
Enhanced Refresh Capability: advertised and received
Multisession Capability:
Stateful switchover support enabled: NO for session 1
Message statistics:
InQ depth is 0
OutQ depth is 0

Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 6 6
Keepalives: 62 63
Route Refresh: 0 0
Total: 69 70
Do log neighbor state changes (via global configuration)
Default minimum time between advertisement runs is 0 seconds
<snip>

C9300-PE-2#show bgp vpnv4 unicast all neighbors 192.168.1.2
BGP neighbor is 192.168.1.2, remote AS 69420, internal link
BGP version 4, remote router ID 192.168.1.2
BGP state = Established, up for 01:01:00
Last read 00:00:13, last write 00:00:37, hold time is 180, keepalive interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
Neighbor capabilities:
Route refresh: advertised and received(new)
Four-octets ASN Capability: advertised and received
Address family IPv4 Unicast: advertised and received
Address family VPNv4 Unicast: advertised and received
Enhanced Refresh Capability: advertised and received
Multisession Capability:
Stateful switchover support enabled: NO for session 1
Message statistics:
InQ depth is 0
OutQ depth is 0

Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 6 6
Keepalives: 67 66
Route Refresh: 0 0
Total: 74 73
Do log neighbor state changes (via global configuration)
Default minimum time between advertisement runs is 0 seconds
  • Remote PE VPNv4 liền kề đã lên và đã nhận được tiền tố:
C9300-PE-1#show bgp vpnv4 unicast all summary
BGP router identifier 192.168.1.2, local AS number 69420
BGP table version is 7, main routing table version 7
4 network entries using 1024 bytes of memory
4 path entries using 544 bytes of memory
4/4 BGP path/bestpath attribute entries using 1216 bytes of memory
4 BGP extended community entries using 1000 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3784 total bytes of memory
BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs
4 networks peaked at 16:19:10 Jun 1 2021 UTC (01:32:00.716 ago)

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.4     4        69420     108     108        7    0    0 01:34:52        2

C9300-PE-2#show bgp vpnv4 unicast all summary
BGP router identifier 192.168.1.4, local AS number 69420
BGP table version is 7, main routing table version 7
4 network entries using 1024 bytes of memory
4 path entries using 544 bytes of memory
4/4 BGP path/bestpath attribute entries using 1216 bytes of memory
4 BGP extended community entries using 1000 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3784 total bytes of memory
BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs
4 networks peaked at 16:18:31 Jun 1 2021 UTC (01:37:30.404 ago)

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4        69420     114     114        7    0    0 01:40:22        2
  • Xác thực tiền tố nào được trao đổi trong VRF cụ thể:
C9300-PE-1#show ip bgp vpnv4 vrf RED
BGP table version is 10, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 69:69 (default for vrf RED)
 *>   10.0.0.0/30      0.0.0.0                  0         32768 ?
 *>i  10.0.0.20/30     192.168.1.4              0    100      0 ?
 *>   192.168.1.0      10.0.0.1            130816         32768 ?
 *>i  192.168.2.0      192.168.1.4         130816    100      0 ?

C9300-PE-2#show ip bgp vpnv4 vrf RED
BGP table version is 9, local router ID is 192.168.1.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 69:69 (default for vrf RED)
 *>i  10.0.0.0/30      192.168.1.2              0    100      0 ?
 *>   10.0.0.20/30     0.0.0.0                  0         32768 ?
 *>i  192.168.1.0      192.168.1.2         130816    100      0 ?
 *>   192.168.2.0      10.0.0.22           130816         32768 ?

Xác thực các nhãn VPNv4 và LDP

Xác thực nhãn VPNv4 được sử dụng để tiếp cận các tiền tố trong VRF

C9300-PE-1#show ip bgp vpnv4 vrf RED labels
   Network          Next Hop      In label/Out label
Route Distinguisher: 69:69 (RED)
   10.0.0.0/30      0.0.0.0         20/nolabel(RED)
   10.0.0.20/30     192.168.1.4     nolabel/20
   192.168.1.0      10.0.0.1        21/nolabel
   192.168.2.1/32   192.168.1.4     nolabel/21 <-- VPNv4 label that is imposed to reach 192.168.2.0

C9300-PE-1#show ip route vrf RED 192.168.2.1
Routing Table: RED
Routing entry for 192.168.2.0/24
Known via "bgp 69420", distance 200, metric 130816, type internal
Last update from 192.168.1.4 01:31:56 ago
Routing Descriptor Blocks:
* 192.168.1.4 (default), from 192.168.1.4, 01:31:56 ago
Route metric is 130816, traffic share count is 1
AS Hops 0
MPLS label: 21 <-- VPNv4 label that matches the previous output 
MPLS Flags: MPLS Required

C9300-PE-2#show ip bgp vpnv4 vrf RED labels
   Network          Next Hop      In label/Out label
Route Distinguisher: 69:69 (RED)
   10.0.0.0/30      192.168.1.2     nolabel/20
   10.0.0.20/30     0.0.0.0         20/nolabel(RED)
   192.168.1.0      192.168.1.2     nolabel/21
   192.168.2.0.     10.0.0.22       21/nolabel <-- VPNv4 label that is advertised to reach 192.168.2.0

C9300-PE-2#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "eigrp 400", distance 90, metric 130816, precedence routine (0), type internal
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Last update from 10.0.0.22 on GigabitEthernet2/0/1, 01:34:42 ago
  Routing Descriptor Blocks:
  * 10.0.0.22, from 10.0.0.22, 01:34:42 ago, via GigabitEthernet2/0/1 <-- CE-facing interface in the VRF
      Route metric is 130816, traffic share count is 1
      Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1
  • Xác minh các nhãn LDP được sử dụng
C9300-PE-1#show mpls forwarding-table 192.168.1.4
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6 <-- 17 is the LDP label imposed to reach PE at 192.168.1.4 through Gi1/0/2

C9300-PE-2#show mpls forwarding-table 192.168.1.2
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
17         16         192.168.1.2/32   0             Gi2/0/2    10.0.0.13 <-- 16 is the LDP label imposed to reach PE at 192.168.1.4 through Gi2/0/2

Xác thực MPLS Forwarding Table

C9300-PE-1#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi1/0/2    10.0.0.6
17         Pop Label  10.0.0.16/30     0             Gi1/0/2    10.0.0.6
18         Pop Label  10.0.0.12/30     0             Gi1/0/2    10.0.0.6
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6
20         No Label   10.0.0.0/30[V]   1982          aggregate/RED
21         No Label   192.168.3.0/24[V]   \
                                       0             Gi1/0/1    10.0.0.1

C9300-PE-2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi2/0/2    10.0.0.13
           Pop Label  192.168.1.3/32   0             Gi2/0/3    10.0.0.17
17         16         192.168.1.2/32   164           Gi2/0/2    10.0.0.13
           16         192.168.1.2/32   1224          Gi2/0/3    10.0.0.17
18         Pop Label  10.0.0.4/30      0             Gi2/0/2    10.0.0.13
           Pop Label  10.0.0.4/30      0             Gi2/0/3    10.0.0.17
20         No Label   10.0.0.20/30[V]  0             aggregate/RED
21         No Label   192.168.2.0/24[V]   \
                                       1440          Gi2/0/1    10.0.0.22
  • Xác nhận các label bên trong (VPNv4) và bên ngoài (LDP) được sử dụng để tiếp cận từng tiền tố nhất định trong VRF
C9300-PE-1#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.1/32, epoch 0, flags [rib defined all labels]
  recursive via 192.168.1.4 label 21 <-- VPNv4 label
    nexthop 10.0.0.6 GigabitEthernet1/0/2 label 17-(local:19) <-- 17 is the LDP label that is be imposed to reach the remote PE, 
                                                                  19 is the local LDP label advertised to the P router

C9300-PE-2#show ip cef vrf RED 192.168.3.0/24 detail
192.168.1.1/32, epoch 0, flags [rib defined all labels]
  recursive via 192.168.1.2 label 22 <-- VPNv4 label 
    nexthop 10.0.0.13 GigabitEthernet2/0/2 label 16-(local:17) <-- 16 is the LDP label that is be imposed to reach the remote PE,
                                                                   17 is the local LDP label advertised to the P router

Xác thực Object-Manager Statistics

Trong các tình huống lý tưởng, không có đối tượng nào đang chờ xử lý

C9300-PE-1#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 491
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

9500-P#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 491
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

C9300-PE-2#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 482
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

Lập Trình Tiền Tố

Lập trình tiền tố C9300-PE-1

***Software Prefix Programming***
C9300-PE-1#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "bgp 69420", distance 200, metric 130816, type internal
  Last update from 192.168.1.4 20:21:40 ago
  Routing Descriptor Blocks:
  * 192.168.1.4 (default), from 192.168.1.4, 20:21:40 ago <-- Remote PE reachable in the global routing table 
      Route metric is 130816, traffic share count is 1
      AS Hops 0
      MPLS label: 21 <-- VPNv4 label 
      MPLS Flags: MPLS Required

C9300-PE-1#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
Known via "ospf 420", distance 110, metric 3, type intra area
Last update from 10.0.0.6 on GigabitEthernet1/0/2, 21:27:11 ago
Routing Descriptor Blocks:
* 10.0.0.6, from 192.168.1.4, 21:27:11 ago, via GigabitEthernet1/0/2 <-- Next-hop 10.0.0.6 via Gi1/0/2 to reach 
    Route metric is 3, traffic share count is 1

***FMAN RP Prefix Programming***
C9300-PE-1#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID <-- VRF ID is important in subsequent command 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi1/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix

C9300-PE-1#show platform software ip switch active r0 cef table index 2 prefix 192.168.2.0/24 <-- Index value is the VRF ID from previous command
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.2.0/24                  OBJ_LABEL        0x14

C9300-PE-1#show platform software mpls switch active r0 label index 0x14 <-- Utilize the Index value from previous command


Label OCE 0x14 -> OBJ_LABEL (0x17) <-- Utilized in next command
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x15
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480636fb0

C9300-PE-1#show platform software mpls switch active r0 label index 0x17 <-- Utilize the OBJ_LABEL value from previous command 


Label OCE 0x17 -> OBJ_ADJACENCY (0x46) <-- Utilized in next command
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348062f858
    
C9300-PE-1#show platform software adjacency switch active r0 index 0x46 <-- Utilize the OBJ_ADJACENCY value from previous command
Number of adjacency objects: 6

Adjacency id: 0x46 (70)
  Interface: GigabitEthernet1/0/2, IF index: 54, Link Type: MCP_LINK_TAG <-- Egress interface 
  Encap: d4:ad:71:b5:dd:e4:a0:f8:49:11:d1:d6:88:47 <-- MAC ending in DDE4 is the DMAC, MAC ending in D1D6 is SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.6 <-- Next-hop IP address
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x3480636280 
  
***FMAN FP Prefix Programming***
C9300-PE-1#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID <-- VRF ID is important in subsequent command 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi1/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix
  
C9300-PE-1#show platform software ip switch active f0 cef table index 2 prefix 192.168.2.0/24 detail <-- Index value is the VRF ID from previous command
Forwarding Table

192.168.2.0/24 -> OBJ_LABEL (0x14), urpf: 15 <-- Utilized in next command
Prefix Flags: unknown
aom id: 648, HW handle: (nil) (created)

C9300-PE-1#show platform software mpls switch active f0 label index 0x14 <-- Utilize the OBJ_LABEL value from the previous command


Label OCE 0x14 -> OBJ_LABEL (0x17) <-- Utilized in next command
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x15
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 647, CPP handle: 0xdeadbeef (created)
  
C9300-PE-1#show platform software mpls switch active f0 label index 0x17 <-- Utilize the OBJ_LABEL value from the previous command


Label OCE 0x17 -> OBJ_ADJACENCY (0x46) <-- Utilized in next command
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 664, CPP handle: 0xdeadbeef (created)  
  
  
C9300-PE-1#show platform software adjacency switch active f0 index 0x46 <-- Utilize the OBJ_ADJACENCY value from the previous command
Number of adjacency objects: 6

Adjacency id: 0x46 (70)
  Interface: GigabitEthernet1/0/2, IF index: 54, Link Type: MCP_LINK_TAG <-- Egress interface 
  Encap: d4:ad:71:b5:dd:e4:a0:f8:49:11:d1:d6:88:47 <-- MAC ending in DDE4 is the DMAC, MAC ending in D1D6 is SMAC, 8847 is MPLS ETYPE 
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.6 <-- Next-hop IP address
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 522, HW handle: (nil) (created)

***FED Prefix Programming***
C9300-PE-1#show platform software fed switch active ip route vrf-name RED 192.168.2.0/24
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
2     192.168.2.0/24                                0x7feeeca12bb8 0x0     0     0   lspa0x2  2021/06/14 17:13:59.644 <-- HTM value significant for next command
  FIB: prefix_hdl:0x5000002a, mpls_ecr_prefix_hdl:0
  ========== OCE chain =====
  LABEL:objid:20 link_type:MPLS local_label:1048577 outlabel:(21, 0) <-- VPNv4 Label 
      flags:0x1:(REAL,) pdflags:0x80:(INSTALL_HW_OK,RECIR_ADJ,) adj_handle:0x5100003d <-- adj_handle and local_adj_hdl values must match
      unsupported recursion:0 olbl_changed 0 local_adj:1 modify_cnt:1
      bwalk_cnt:0 subwalk_cnt:1 collapsed_oce:0
      AAL: id:1358954557 lbl:19 smac:0000.0000.0000 dmac:0000.0000.0000 <-- Label 19 matches the local transport label 
           sub_type:0 link_type:0 adj_flags:0x10 label_type:0 rewrite_type:PSH2(121)
           vlan_id:0 vrf_id:0 ri:0x7feeeca9acf8, ri_id:0x46 phdl:0, ref_cnt:2 <-- ri_id and ri_idx values must match 
           si:0x7feeeca6ab98, si_id:0xb6, di_id:0x5013
  LABEL:objid:23 link_type:MPLS local_label:19 outlabel:(17, 0) <-- Label 19 is the local transport label, Label 17 is the LDP label 
      flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x50000034
      unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
      bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
      AAL: id:1342177332 lbl:0 smac:a0f8.4911.d1d6 dmac:d4ad.71b5.dde4 <-- Matches the next-hop information to reach 192.168.2.0/24
           sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
           vlan_id:0 vrf_id:0 ri:0x7feeecd6d238, ri_id:0x3e phdl:0x9f00004b, ref_cnt:1
           si:0x7feeecd706d8, si_id:0x4013, di_id:0x535f <-- di_id utilized in subsequent commands
  ADJ:objid:70 {link_type:MPLS ifnum:0x36, si:0x94000021, }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0, mpls_lspa_hdl:0xab000003
    AAL:LSPA: id:2868903939 num_path:1 prefix_id:0x2 delete_hw_hdl_cnt:0
         cookie[64]: 15000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000 status:ok
          vpn_lbl:21 local_adj_hdl:0x5100003d hw_hdl:0x7feeecab2d48 ri_idx:0x46 <-- vpn_lbl matches the VPNv4 label,adj_handle and local_adj_hdl values must match,ri_id and ri_idx values must match 
  ===============
  
C9300-PE-1#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7feeeca12bb8 1 <-- Utilize HTM value from previous command
Handle:0x7feeeca12bb8 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7feeeca2af28
Features sharing this resource:Cookie length: 12
01 02 a8 c0 00 00 02 d0 07 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7feeeca2af28)

Absolute Index: 66036
Time Stamp: 160003
KEY - vrf:2 mtr:0 prefix:192.168.2.0 rcp_redirect_index:0x0
MASK - vrf:0 mtr:0 prefix:0.0.0.255 rcp_redirect_index:0x0
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:182 destined_to_us:0 hw_stats_idx:0 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0x2
SRC-AD = learning_violation:0 need_to_learn:0  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:0 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:0 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:0 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9300-PE-1#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x535f 0x535f <-- Utilize the di_id from the previous command 
ASIC#0:

index = 0x535f
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x535f
pmap = 0x00000000 0x00000002 <-- Looking at 0x00000002, in binary that is 0000 0000 0000 0000 0000 0000 0000 0010 = Port 1 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9300-PE-1#show plat soft fed switch active ifm mappings
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
GigabitEthernet1/0/2      0x36       1   0   1    1      0      6    7    2    2    NIF  Y    <-- Port 1 is the egress port, Gi1/0/2

Lập trình tiền tố C9500-P

***Software Prefix Programming***
C9500-P#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
  Known via "ospf 420", distance 110, metric 2, type intra area
  Last update from 10.0.0.14 on TenGigabitEthernet1/0/2, 1d21h ago
  Routing Descriptor Blocks:
  * 10.0.0.14, from 192.168.1.4, 1d21h ago, via TenGigabitEthernet1/0/2 <-- Next-hop to reach 192.168.1.4
      Route metric is 2, traffic share count is 1
      
C9500-P#show ip cef 192.168.1.4 detail
192.168.1.4/32, epoch 4
  dflt local label info: global/17 [0x3]
  nexthop 10.0.0.14 TenGigabitEthernet1/0/2 label explicit-null-(local:17)
 
***FMAN RP Prefix Programming*** 
C9500-P#show platform software ip switch active r0 cef prefix 192.168.1.4/32
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.1.4/32                  OBJ_LABEL        0x16 <-- Value used in next command 

C9500-P#show platform software mpls switch active r0 label index 0x16 <-- Utilize the OBJ_LABEL value from previous command


Label OCE 0x16 -> OBJ_ADJACENCY (0x49) <-- Value used in next command 
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x34806492f0
  
C9500-P#show platform software adjacency switch active r0 index 0x49 <-- Utilize OBJ_ADJACENCY value from previous command
Number of adjacency objects: 8

Adjacency id: 0x49 (73)
  Interface: TenGigabitEthernet1/0/2, IF index: 66, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:71:d4:ad:71:b5:dd:d6:88:47 <-- MAC ending in AE71 is the DMAC, MAC ending in DDD6 is the SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.14 <-- Next-hop IP 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x3480647760

***FMAN FP Prefix Programming***  
C9500-P#show platform software ip switch active f0 cef prefix 192.168.1.4/32 detail
Forwarding Table

192.168.1.4/32 -> OBJ_LABEL (0x16), urpf: 21 <-- Used in subsequent command 
Prefix Flags: unknown
aom id: 567, HW handle: (nil) (created)

C9500-P#show platform software mpls switch active f0 label index 0x16 <-- Utilize the OBJ_LABEL value from previous command


Label OCE 0x16 -> OBJ_ADJACENCY (0x49) <-- Used in subsequent command 
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 589, CPP handle: 0xdeadbeef (created)
  
C9500-P#show platform software adjacency switch active f0 index 0x49 <-- Utilize the OBJ_ADJACENCY from previous command 
Number of adjacency objects: 8

Adjacency id: 0x49 (73)
  Interface: TenGigabitEthernet1/0/2, IF index: 66, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:71:d4:ad:71:b5:dd:d6:88:47 <-- MAC ending in AE71 is the DMAC, MAC ending in DDD6 is the SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.14 <-- Next-hop IP
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 535, HW handle: (nil) (created)

*** FED Prefix Programming***  
C9500-P#show platform software fed switch active ip route 192.168.1.4/32
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
0     192.168.1.4/32                                0x7f790c4cf0e8 0x0     0     0         2021/06/14 22:10:54.150 <-- HTM value significant for next command 
  FIB: prefix_hdl:0x6a000020, mpls_ecr_prefix_hdl:0
  ========== OCE chain =====
  LABEL:objid:22 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Label 17 is the local transport label
      flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xb9000037
      unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
      bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
      AAL: id:3103785015 lbl:0 smac:d4ad.71b5.ddd6 dmac:70d3.79be.ae71 <-- Matches the next-hop information to reach 192.168.1.4/32
           sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
           vlan_id:0 vrf_id:0 ri:0x7f790c4cdfd8, ri_id:0x38 phdl:0x76000058, ref_cnt:1
           si:0x7f790c4c22f8, si_id:0x400b, di_id:0x2 <-- di_id utilized in subsequent commands 
  ADJ:objid:73 {link_type:MPLS ifnum:0x42, si:0x2d000027, }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0, mpls_lspa_hdl:0
  ===============

C9500-P#show platform hardware fwd-asic abstraction print-resource-handle 0x7f790c4cf0e8 1 <-- Utilize the HTM value from previous command 
Handle:0x7f790c4cf0e8 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7f790c4cf2f8
Features sharing this resource:Cookie length: 12
04 01 a8 c0 00 00 00 d0 07 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7f790c4cf2f8)

Absolute Index: 126650
Time Stamp: 40
KEY - vrf:0 mtr:0 prefix:192.168.1.4 rcp_redirect_index:0x0
MASK - vrf:0 mtr:0 prefix:0.0.0.0 rcp_redirect_index:0x0
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:16395 destined_to_us:0 hw_stats_idx:1 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0
SRC-AD = learning_violation:0 need_to_learn:0  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:38 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:1 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:0 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9500-P#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x2 0x2 <-- Utilize the di_id value from the previous command 
ASIC#0:

index = 0x2
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x2
pmap = 0x00000000 0x00000002 <-- 0x00000002 in binary is 0000 0000 0000 0000 0000 0000 0000 = Port 1 (Zero based, count right to left) 
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9500-P#show platform software fed switch active ifm mappings
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
TenGigabitEthernet1/0/2   0x42       1   0   1    1      0      10   1    2    2    NIF  Y    <-- Port 1 is the egress port, TenGig1/0/2

Lập trình tiền tố C9300-PE-2

***Software Prefix Programming***
C9300-PE-2#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "eigrp 400", distance 90, metric 130816, precedence routine (0), type internal
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Last update from 10.0.0.22 on GigabitEthernet2/0/1, 1d21h ago
  Routing Descriptor Blocks:
  * 10.0.0.22, from 10.0.0.22, 1d21h ago, via GigabitEthernet2/0/1 <-- Next-hop reachable in the VRF
      Route metric is 130816, traffic share count is 1
      Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1

C9300-PE-2#show ip route vrf RED 10.0.0.22

Routing Table: RED
Routing entry for 10.0.0.20/30
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Routing Descriptor Blocks:
  * directly connected, via GigabitEthernet2/0/1 <-- Next-hop directly connected
      Route metric is 0, traffic share count is 1
      
C9300-PE-2#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/21 [0x2]
  nexthop 10.0.0.22 GigabitEthernet2/0/1

***FMAN RP Prefix Programming***  
C9300-PE-2#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID <-- VRF ID is important in subsequent command 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi2/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix 
  
C9300-PE-2#show platform software ip switch active r0 cef table index 2 prefix 192.168.2.0/24
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.2.0/24                  OBJ_ADJACENCY    0x19 

C9300-PE-2#show platform software adjacency switch active r0 index 0x19 <-- Utilize the Index value from previous command 
Number of adjacency objects: 6

Adjacency id: 0x19 (25)
  Interface: GigabitEthernet2/0/1, IF index: 53, Link Type: MCP_LINK_IP
  Encap: 0:72:78:c8:c9:c2:70:d3:79:be:ae:42:8:0 <-- MAC ending in C9C2 is DMAC, MAC ending in AE42 is SMAC, 0x800 is the IP ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: no-l3-inject
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.22
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x348062f118

***FMAN FP Prefix Programming***  
C9300-PE-2#show platform software ip switch active f0 cef table index 2 prefix 192.168.2.0/24 detail 
Forwarding Table

192.168.2.0/24 -> OBJ_ADJACENCY (0x19), urpf: 30 <-- Utilized in next command 
Prefix Flags: unknown
aom id: 665, HW handle: (nil) (created)
QPPB precedence: 0

C9300-PE-2#show platform software adjacency switch active f0 index 0x19 <-- Utilize the OBJ_ADJACENCY from previous command 
Number of adjacency objects: 6

Adjacency id: 0x19 (25)
  Interface: GigabitEthernet2/0/1, IF index: 53, Link Type: MCP_LINK_IP
  Encap: 0:72:78:c8:c9:c2:70:d3:79:be:ae:42:8:0
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: no-l3-inject
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.22
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 659, HW handle: (nil) (created)

***FED Prefix Programming***  
C9300-PE-2#show platform software fed switch active ip route vrf-name RED 192.168.2.0/24
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
2     192.168.2.0/24                                0x7f7fb4a25648 0x0     0     0         2021/06/14 17:04:13.460 <-- HTM value significant for next command 
  FIB: prefix_hdl:0x6e00002a, mpls_ecr_prefix_hdl:0
  ========== OCE chain =====
  ADJ:objid:25 {link_type:IP ifnum:0x35, si:0x3300003e, IPv4:       10.0.0.22 }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0, mpls_lspa_hdl:0
  
  
  =============== 
  
C9300-PE-2#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f7fb4a25648 1 <-- Utilize HTM value from previous command
Handle:0x7f7fb4a25648 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7f7fb4a10e58
Features sharing this resource:Cookie length: 12
01 02 a8 c0 00 00 02 d0 07 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7f7fb4a10e58)

Absolute Index: 66036
Time Stamp: 164911
KEY - vrf:2 mtr:0 prefix:192.168.2.0 rcp_redirect_index:0x0
MASK - vrf:0 mtr:0 prefix:0.0.0.255 rcp_redirect_index:0x0
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:182 destined_to_us:0 hw_stats_idx:1 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0
SRC-AD = learning_violation:0 need_to_learn:0  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:37 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:1 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:0 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9300-PE-2#show platform software fed switch active ip adj
IPV4 Adj entries
dest            if_name                 dst_mac          si_hdl         ri_hdl         pd_flags adj_id  Last-modified
----            -------                 -------          ------         ------         -------- -----   ------------------------
10.0.0.22       GigabitEthernet2/0/1    0072.78c8.c9c2   0x7f7fb4a44048 0x7f7fb4b089d8 0x0      0x19       2021/06/14 16:59:43.447 <-- si_hdl used in next command

C9300-PE-2#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f7fb4a44048 1 <-- Utilize the si_hdl value from previous command
Handle:0x7f7fb4a44048 Res-Type:ASIC_RSC_SI Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1
priv_ri/priv_si Handle: 0x7f7fb4b089d8Hardware Indices/Handles: index0:0xb6  mtu_index/l3u_ri_index0:0x0  index1:0xb6  mtu_index/l3u_ri_index1:0x0
Features sharing this resource:66 (1)]
Cookie length: 56
00 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 00 00 00 00 08 00 00 72 78 c8 c9 c2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------


Station Index (SI) [0xb6]
RI = 0x2b
DI = 0x5338
stationTableGenericLabel = 0
stationFdConstructionLabel = 0x7
lookupSkipIdIndex = 0
rcpServiceId = 0
dejaVuPreCheckEn = 0
Replication Bitmap: CD

Detailed Resource Information (ASIC# 1)
----------------------------------------


Station Index (SI) [0xb6]
RI = 0x2b
DI = 0x5338
stationTableGenericLabel = 0
stationFdConstructionLabel = 0x7
lookupSkipIdIndex = 0
rcpServiceId = 0
dejaVuPreCheckEn = 0
Replication Bitmap: LD

==============================================================  

C9300-PE-2#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x5338 0x5338 <-- Utilize the DI value from previous command
ASIC#0:

index = 0x5338
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x5338
pmap = 0x00000000 0x00000001 <-- 0x00000001 in binary is 0000 0000 0000 0000 0000 0000 0000 0001 = Port 0 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9300-PE-2#show platform software fed switch active ifm map
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
GigabitEthernet2/0/1      0x35       1   0   1    0      0      26   6    1    97   NIF  Y    <-- Port 0 is the egress port, Gi2/0/1 

Lập Trình Nhãn VPNv4

Ở phần này sẽ giới thiệu lập trình label VPNv4 trên các router MPLS PE, C9300-PE-1 và C9300-PE-2. C9500 không chuyển tiếp trên label VPNv4 nên không có đầu ra từ C9500

Lập trình label C9300-PE-1 VPNv4:

Kiểm tra tiền tố cục bộ đối với PE, không phải tiền tố remote

***Software VPNv4 Label Programming***
C9300-PE-1#show ip cef vrf RED 192.168.3.0/24 detail
192.168.3.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/22 [0x2] <-- VPNv4 label associated with the local prefix
  nexthop 10.0.0.1 GigabitEthernet1/0/1

*** FMAN RP VPNv4 Label Programming***
C9300-PE-1#show platform software mpls switch active r0 eos index 24 <-- Utilize the objid from the FED command 


EOS Choice 0x18, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x17
  OM handle: 0x3480631760

***FMAN FP VPNv4 Label Programming***
C9300-PE-1#show platform software mpls switch active f0 eos index 24 <-- Utilize the objid from the FED command 


EOS Choice 0x18, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x17
  aom id: 5748, CPP handle: 0xdeadbeef (created), flags: 0 <-- Utilized in subsequent command
  
C9300-PE-1#show platform software object-manager switch active f0 object 5748 <-- Utilize the aom id from previous command 
Object identifier: 5748
  Description: EOS Choice 0x18
  Status: Done, Epoch: 0, Client data: 0x63150908

C9300-PE-1#show platform software object-manager switch active f0 object 5748 parents <-- Utilize the aom id
Object identifier: 7
  Description: Special Object adj_drop
  Status: Done

Object identifier: 5746
  Description: label 0x17
  Status: Done

***FED VPNv4 Label Programming***
C9300-PE-1#show platform software fed switch active mpls forwarding label 22 detail
 LENTRY:label:22 nobj:(EOS, 24) lentry_hdl:0x800000a
   modify_cnt:1 backwalk_cnt:0
   lspa_handle:0
   AAL: id:134217738 lbl:22
        eos0:[adj_hdl:0, hw_hdl:0x7fa4c4d72e08]
        eos1:[adj_hdl:0x6e00003e, hw_hdl:0x7fa4c4d72c58]
        deagg_vrf_id = 0 lspa_handle:0
   EOS:objid:24 local_label:0 flags:0:() pdflags:0 <-- Utilized in previous commands 
      nobj0:(ADJ SPECIAL,DROP 0), nobj1:(LABEL, 23) modify:0 bwalk:0
      LABEL:objid:23 link_type:IP local_label:22 outlabel:(1048577, 0)
          flags:0xc:(UHP,POP,) pdflags:0x2:(INSTALL_HW_OK,) adj_handle:0x6e00003e
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1845493822 lbl:0 smac:a0f8.4911.d1e4 dmac:0072.78c8.06e4
               sub_type:0 link_type:0 adj_flags:0x2 label_type:1 rewrite_type:POP2IP(135)
               vlan_id:0 vrf_id:0 ri:0x7fa4c4a81af8, ri_id:0x44 phdl:0xf1000024, ref_cnt:1
               si:0x7fa4c4d83da8, si_id:0x4012, di_id:0x5338
      ADJ:objid:113 {link_type:IP ifnum:0x35, si:0x2000003a, IPv4:        10.0.0.1 }

Xác minh label C9300-PE-2 VPNv4:

Kiểm tra tiền tố cục bộ đối với PE, không phải tiền tố remote:

***Software VPNv4 Label Programming***
C9300-PE-2#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/21 [0x2] <-- VPNv4 label associated with local prefix 
  nexthop 10.0.0.22 GigabitEthernet2/0/1

*** FMAN RP VPNv4 Label Programming***  
C9300-PE-2#show platform software mpls switch active r0 eos index 61 <-- Use the objid from the FED command


EOS Choice 0x3d, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x3b
  OM handle: 0x348063f2f8

*** FMAN FP VPNv4 Label Programming*** 
C9300-PE-2#show platform software mpls switch active f0 eos index 61 <-- Use the objid from the FED command


EOS Choice 0x3d, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x3b
  aom id: 3541, CPP handle: 0xdeadbeef (created), flags: 0 <-- Utilized in subsequent command 

C9300-PE-2#show platform software object-manager switch active f0 object 3541 <-- Use the aom id from previous command
Object identifier: 3541
  Description: EOS Choice 0x3d
  Status: Done, Epoch: 0, Client data: 0x11079188
  
C9300-PE-2#show platform software object-manager switch active f0 object 3541 parents <-- Use the aom id from previous command
Object identifier: 7
  Description: Special Object adj_drop
  Status: Done

Object identifier: 3540
  Description: label 0x3b
  Status: Done

*** FED VPNv4 Label Programming*** 
C9300-PE-2#show platform software fed switch active mpls forwarding label 21 detail
 LENTRY:label:21 nobj:(EOS, 61) lentry_hdl:0x69000009
   modify_cnt:3 backwalk_cnt:0
   lspa_handle:0
   AAL: id:1761607689 lbl:21
        eos0:[adj_hdl:0, hw_hdl:0x7fe8f8a71bd8]
        eos1:[adj_hdl:0x49000040, hw_hdl:0x7fe8f8a72458]
        deagg_vrf_id = 0 lspa_handle:0
   EOS:objid:61 local_label:0 flags:0:() pdflags:0 <-- Utilized in previous commands 
      nobj0:(ADJ SPECIAL,DROP 0), nobj1:(LABEL, 59) modify:0 bwalk:0
      LABEL:objid:59 link_type:IP local_label:21 outlabel:(1048577, 0)
          flags:0xc:(UHP,POP,) pdflags:0x2:(INSTALL_HW_OK,) adj_handle:0x49000040
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1224736832 lbl:0 smac:70d3.79be.ae42 dmac:0072.78c8.c9c2
               sub_type:0 link_type:0 adj_flags:0x2 label_type:1 rewrite_type:POP2IP(135)
               vlan_id:0 vrf_id:0 ri:0x7fe8f8a8ab98, ri_id:0x44 phdl:0xf1000024, ref_cnt:1
               si:0x7fe8f8a6ae08, si_id:0x4006, di_id:0x5338
      ADJ:objid:25 {link_type:IP ifnum:0x35, si:0x800003e, IPv4:       10.0.0.22 }

Lập Trình Label LDP

Nhãn LDP (bên ngoài) là nhãn mạng MPLS chuyển đổi các gói. Xác thực nhãn LDP cục bộ được đề xuất cho remote PE, không xác thực nhãn remote LDP. 

Lập trình label LDP C9300-PE-1:

Xác thực nhãn LDP cục bộ được đề xuất cho remote PE, không xác thực label remote LDP. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9300-PE-1#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi1/0/2    10.0.0.6
18         Pop Label  10.0.0.12/30     0             Gi1/0/2    10.0.0.6
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6 <-- LDP Label 19 is advertised to Remote PE 192.168.1.4, validate LDP label 19
20         No Label   10.0.0.0/30[V]   1890          aggregate/RED
22         No Label   192.168.3.0/24[V]   \
                                       1982          Gi1/0/1    10.0.0.1

***FMAN RP LDP Label Programming***
C9300-PE-1#show platform software mpls switch active r0 label index 59


Label OCE 0x3b -> OBJ_ADJACENCY (0x46)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x34805f3dc8

***FMAN FP LDP Label Programming***
C9300-PE-1#show platform software mpls switch active f0 label index 59


Label OCE 0x3b -> OBJ_ADJACENCY (0x46)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 7065, CPP handle: 0xdeadbeef (created)

C9300-PE-1#show platform software object-manager switch active f0 object 7065
Object identifier: 7065
  Description: label 0x3b
  Status: Done, Epoch: 0, Client data: 0x63152218


C9300-PE-1#show platform software object-manager switch active f0 object 7065 parents
Object identifier: 511
  Description: adj 0x46, Flags None
  Status: Done
                                       
***FED LDP Label Programming***
C9300-PE-1#show platform software fed switch active mpls forwarding label 19 detail
 LENTRY:label:19 nobj:(LABEL, 59) lentry_hdl:0xef000007
   modify_cnt:7 backwalk_cnt:0
   lspa_handle:0
   AAL: id:4009754631 lbl:19
        eos0:[adj_hdl:0x91000056, hw_hdl:0x7fa4c4d6cae8]
        eos1:[adj_hdl:0x91000056, hw_hdl:0x7fa4c4d6c8e8]
        deagg_vrf_id = 0 lspa_handle:0
   LABEL:objid:59 link_type:MPLS local_label:19 outlabel:(17, 0)
       flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x91000056
       unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
       bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
       AAL: id:2432696406 lbl:0 smac:a0f8.4911.d1d6 dmac:d4ad.71b5.dde4
            sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
            vlan_id:0 vrf_id:0 ri:0x7fa4c4d75fa8, ri_id:0x26 phdl:0x9f00004b, ref_cnt:1
            si:0x7fa4c4d5f6c8, si_id:0x4013, di_id:0x535f
   ADJ:objid:70 {link_type:MPLS ifnum:0x36, si:0x25000021, }

Lập trình label LDP C9500:

Xác thực nhãn LDP cục bộ được đề xuất cho remote PE, không xác thực label remote LDP. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9500-P#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         explicit-n 192.168.1.2/32   23409         Te1/0/1    10.0.0.5  <-- LDP label 16 is advertised to reach PE 192.168.1.2
17         explicit-n 192.168.1.4/32   23345         Te1/0/2    10.0.0.14 <-- LDP label 17 is advertised to reach PE 192.168.1.4

***FMAN RP LDP Label Programming***
C9500-P#show platform software mpls switch active r0 label index 23 <-- Use the obj id from the FED command


Label OCE 0x17 -> OBJ_ADJACENCY (0x3f)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480645150

***FMAN FP LDP Label Programming***
C9500-P#show platform software mpls switch active f0 label index 23 <-- Use the obj id from the FED command


Label OCE 0x17 -> OBJ_ADJACENCY (0x3f)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 654, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software object-manager switch active f0 object 654 <-- Use the aom id from the previous command 
Object identifier: 654
  Description: label 0x17
  Status: Done, Epoch: 0, Client data: 0x4b41c08
  
C9500-P#show platform software object-manager switch active f0 object 654 parents <-- Use the aom id from the previous command 
Object identifier: 515
  Description: adj 0x3f, Flags None
  Status: Done

***FED LDP Label Programming***
C9500-P#show platform software fed switch active mpls forwarding label 16 detail 
 LENTRY:label:16 nobj:(LABEL, 23) lentry_hdl:0xec000004
   modify_cnt:6 backwalk_cnt:0
   lspa_handle:0
   AAL: id:3959422980 lbl:16
        eos0:[adj_hdl:0xc3000055, hw_hdl:0x7f28944be3c8]
        eos1:[adj_hdl:0xc3000055, hw_hdl:0x7f28944be1b8]
        deagg_vrf_id = 0 lspa_handle:0
   LABEL:objid:23 link_type:MPLS local_label:16 outlabel:(0, 0) <-- Utilized in previous commands
       flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xc3000055
       unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
       bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
       AAL: id:3271557205 lbl:0 smac:d4ad.71b5.dde4 dmac:a0f8.4911.d1d6
            sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
            vlan_id:0 vrf_id:0 ri:0x7f289449bf88, ri_id:0x44 phdl:0xe9000057, ref_cnt:1
            si:0x7f2894489b58, si_id:0x4009, di_id:0x1
   ADJ:objid:63 {link_type:MPLS ifnum:0x41, si:0x57000023, }

***Software LDP Label Programming***
C9500-P#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         explicit-n 192.168.1.2/32   23409         Te1/0/1    10.0.0.5
17         explicit-n 192.168.1.4/32   23345         Te1/0/2    10.0.0.14

***FMAN RP LDP Label Programming***
C9500-P#show platform software mpls switch active r0 label index 64 <-- Use the obj id from the FED command


Label OCE 0x40 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480641d08   

***FMAN FP LDP Label Programming***   
C9500-P#show platform software mpls switch active f0 label index 64 <-- Use the obj id from the FED command


Label OCE 0x40 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 657, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software object-manager switch active f0 object 657 <-- Use the aom id value from previous command
Object identifier: 657
  Description: label 0x40
  Status: Done, Epoch: 0, Client data: 0x4b523f8


C9500-P#show platform software object-manager switch active f0 object 657 parents<-- Use the aom id value from previous command
Object identifier: 535
  Description: adj 0x49, Flags None
  Status: Done

***FED LDP Label Programming***   
C9500-P#show platform software fed switch active mpls forwarding label 17 detail
 LENTRY:label:17 nobj:(LABEL, 64) lentry_hdl:0x8d000005
   modify_cnt:6 backwalk_cnt:0
   lspa_handle:0
   AAL: id:2365587461 lbl:17
        eos0:[adj_hdl:0xcc000037, hw_hdl:0x7f2894480438]
        eos1:[adj_hdl:0xcc000037, hw_hdl:0x7f2894480228]
        deagg_vrf_id = 0 lspa_handle:0
   LABEL:objid:64 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Utilized in previous commands
       flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xcc000037
       unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
       bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
       AAL: id:3422552119 lbl:0 smac:d4ad.71b5.ddd6 dmac:70d3.79be.ae71
            sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
            vlan_id:0 vrf_id:0 ri:0x7f2894498008, ri_id:0x38 phdl:0x76000058, ref_cnt:1
            si:0x7f2894498478, si_id:0x400b, di_id:0x2
   ADJ:objid:73 {link_type:MPLS ifnum:0x42, si:0x3d000027, }   

Lập trình label LDP C9300-PE-2:

Xác thực label LDP cục bộ được đề xuất cho PE từ xa, không xác thực label LDP từ xa. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9300-PE-2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi2/0/2    10.0.0.13
17         16         192.168.1.2/32   630           Gi2/0/2    10.0.0.13 <-- LDP label 17 is advertised to Remote PE 192.168.1.2 
18         Pop Label  10.0.0.4/30      0             Gi2/0/2    10.0.0.13
20         No Label   10.0.0.20/30[V]  1260          aggregate/RED
21         No Label   192.168.2.0/24[V]   \
                                       2070          Gi2/0/1    10.0.0.22

C9300-PE-2#show platform software mpls switch active r0 label index 82 <-- Utilize the obj id value from the FED Command


Label OCE 0x52 -> OBJ_ADJACENCY (0x46)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348063ad00


C9300-PE-2#show platform software mpls switch active f0 label index 82 <-- Utilize the obj id value from the FED Command


Label OCE 0x52 -> OBJ_ADJACENCY (0x46)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 3624, CPP handle: 0xdeadbeef (created) <-- Used in next commands 

C9300-PE-2#show platform software object-manager switch active f0 object 3624 <-- Utilize the aom id value 
Object identifier: 3624
  Description: label 0x52
  Status: Done, Epoch: 0, Client data: 0x11071668


C9300-PE-2#show platform software object-manager switch active f0 object 3624 parents <-- Utilize the aom id value 
Object identifier: 496
  Description: adj 0x46, Flags None
  Status: Done

C9300-PE-2#show platform software fed switch active mpls forwarding label 17 detail
 LENTRY:label:17 nobj:(LABEL, 82) lentry_hdl:0x44000005
   modify_cnt:6 backwalk_cnt:0
   lspa_handle:0
   AAL: id:1140850693 lbl:17
        eos0:[adj_hdl:0x5f000032, hw_hdl:0x7fe8f8a52798]
        eos1:[adj_hdl:0x5f000032, hw_hdl:0x7fe8f8a52588]
        deagg_vrf_id = 0 lspa_handle:0
   LABEL:objid:82 link_type:MPLS local_label:17 outlabel:(16, 0) <-- Used in previous commands 
       flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x5f000032
       unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
       bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
       AAL: id:1593835570 lbl:0 smac:70d3.79be.ae71 dmac:d4ad.71b5.ddd6
            sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
            vlan_id:0 vrf_id:0 ri:0x7fe8f8a93c78, ri_id:0x3a phdl:0x9f00004b, ref_cnt:1
            si:0x7fe8f8a91188, si_id:0x4011, di_id:0x535f
   ADJ:objid:70 {link_type:MPLS ifnum:0x36, si:0xaa000021, }

Tình Huống 2: L3VPN Với EMCP Giữa Các Thiết Bị PE Và Các Router P

Cấu Trúc Liên Kết Tham Chiếu

Trong ví dụ này, Switch Cisco Catalyst 3850 hoạt động như thiết bị CE, Cisco Catalyst 9300 hoạt động như thiết bị PE, Switch Catalyst 9500 trong Stackwise Virtual có chức năng như thiết bị P. EIGRP chạy giữa các thiết bị CE và PE, OSPF và LDP liền kề trong lõi MPLS, với một iBGP VPNv4 liền kề giữa các thiết bị PE. Trong lõi MPLS, có ECMP giữa các thiết bị PE và P.

Cấu trúc liên kết Catalyst MPLS L3VPN số 2
Cấu trúc liên kết Catalyst MPLS L3VPN số 2

Chi Tiết Cấu Hình

Cấu hình của C3850-CE-1

hostname C3850-CE-1
!
interface Loopback0
ip address 192.168.3.1 255.255.255.0
!
interface TenGigabitEthernet1/0/1
no switchport
ip address 10.0.0.1 255.255.255.252
!
router eigrp 420
network 10.0.0.0 0.0.0.3
network 192.168.3.0 
eigrp stub connected summary
!
ip route 0.0.0.0 0.0.0.0 10.0.0.2

Cấu hình của C9300-PE-1

hostname C9300-PE-1
!
ip vrf RED
rd 69:69
route-target export 69:69
route-target import 69:69
!
mpls ldp explicit-null
!
interface Loopback0
ip address 192.168.1.2 255.255.255.255
!
interface GigabitEthernet1/0/1
no switchport
ip vrf forwarding RED
ip address 10.0.0.2 255.255.255.252
!
interface GigabitEthernet1/0/2
no switchport
ip address 10.0.0.5 255.255.255.252
!
interface GigabitEthernet1/0/3
no switchport
ip address 10.0.0.9 255.255.255.252
!
router eigrp 420
!
address-family ipv4 vrf RED
network 10.0.0.0 0.0.0.3
autonomous-system 420
exit-address-family
!
router ospf 420
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig
!
router bgp 69420
bgp log-neighbor-changes
neighbor 192.168.1.4 remote-as 69420
neighbor 192.168.1.4 update-source Loopback0
!
address-family vpnv4
neighbor 192.168.1.4 activate
neighbor 192.168.1.4 send-community extended
exit-address-family
!
address-family ipv4 vrf RED
redistribute eigrp 420
exit-address-family

Cấu hình của C9500-P

hostname C9500-P
!
interface Loopback0
ip address 192.168.1.3 255.255.255.255
!
interface TenGigabitEthernet1/0/1
no switchport
ip address 10.0.0.6 255.255.255.252
!
interface TenGigabitEthernet1/0/2
no switchport
ip address 10.0.0.13 255.255.255.252
!
interface TenGigabitEthernet2/0/1
no switchport
ip address 10.0.0.10 255.255.255.252
!
interface TenGigabitEthernet2/0/2
no switchport
ip address 10.0.0.17 255.255.255.252
!
router ospf 420
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig

Cấu hình của C9300-PE-2

hostname C9300-PE-2
!
ip vrf RED
rd 69:69
route-target export 69:69
route-target import 69:69
!
mpls ldp explicit-null
!
interface Loopback0
ip address 192.168.1.4 255.255.255.255
!
interface GigabitEthernet2/0/1
no switchport
ip vrf forwarding RED
ip address 10.0.0.21 255.255.255.252
!
interface GigabitEthernet2/0/2
no switchport
ip address 10.0.0.14 255.255.255.252
!
interface GigabitEthernet2/0/3
no switchport
ip address 10.0.0.18 255.255.255.252
!
router eigrp 400
!
address-family ipv4 vrf RED
network 10.0.0.20 0.0.0.3
autonomous-system 400
exit-address-family
!
router ospf 420
passive-interface GigabitEthernet2/0/24
network 0.0.0.0 255.255.255.255 area 0
mpls ldp autoconfig
!
router bgp 69420
bgp log-neighbor-changes
neighbor 192.168.1.2 remote-as 69420
neighbor 192.168.1.2 update-source Loopback0
!
address-family vpnv4
neighbor 192.168.1.2 activate
neighbor 192.168.1.2 send-community extended
exit-address-family
!
address-family ipv4 vrf RED
redistribute eigrp 400
exit-address-family

Cấu hình của C3850-CE-2

hostname C3850-CE-2
!
interface Loopback0
ip address 192.168.2.1 255.255.255.0
!
interface TenGigabitEthernet2/0/1
no switchport
ip address 10.0.0.22 255.255.255.252
!
router eigrp 400
network 10.0.0.20 0.0.0.3
network 192.168.2.0 
eigrp stub connected summary
!
ip route 0.0.0.0 0.0.0.0 10.0.0.21

Xác Thực Cơ Bản

Trước khi xác thực lập trình MPLS, có các yêu cầu cơ bản sau đây cần được xác thực:

  • Xác thực kết nối PE đến PE hiện có
  • Xác thực đường dẫn chuyển mạch nhãn (LSP) giữa các PE
  • Xác thực thời gian liền kề BGPv4 giữa các PE
  • Xác thực các nhãn VPNv4 và LDP
  • Xác thực MPLS Forwarding Table

Xác thực kết nối PE với PE

Bạn có thể ping vòng lặp PE từ xa và nguồn từ vòng lặp cục bộ, nhưng điều này không xác nhận đường dẫn chuyển mạch nhãn MPLS (LSP) là tốt, vì địa chỉ IP của vòng lặp được quảng bá trong lớp dưới.

C9300-PE-1#ping 192.168.1.4 source 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.4, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

C9300-PE-1#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
  Known via "ospf 420", distance 110, metric 3, type intra area
  Last update from 10.0.0.10 on GigabitEthernet1/0/3, 18:39:30 ago
  Routing Descriptor Blocks:
    10.0.0.10, from 192.168.1.4, 18:39:30 ago, via GigabitEthernet1/0/3
      Route metric is 3, traffic share count is 1
  * 10.0.0.6, from 192.168.1.4, 18:39:30 ago, via GigabitEthernet1/0/2
      Route metric is 3, traffic share count is 1   

Xác thực LSP

Bạn có thể sử dụng một lộ trình theo dõi MPLS từ PE đến PE loopback để xác thực LSP và tất cả các nhãn MPLS LDP dọc theo đường dẫn.

C9300-PE-1#traceroute mpls ipv4 192.168.1.4/32 source 192.168.1.2
Tracing MPLS Label Switched Path to 192.168.1.4/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 10.0.0.5 MRU 1500 [Labels: 17 Exp: 0]
L 1 10.0.0.6 MRU 1500 [Labels: explicit-null Exp: 0] 7 ms
! 2 10.0.0.18 1 ms

Nếu bạn không có quyền truy cập vào CE hoặc thiết bị đằng sau CE và bạn muốn chứng minh rằng có sự áp đặt/bố trí nhãn VPNv4 và LDP thành công, bạn có thể thử ping từ giao diện hướng tới CE trong VRF trên PE tới giao diện hướng tới CE khác trong VRF trên PE từ xa.

C9300-PE-1#ping vrf RED 10.0.0.21 source 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.21, timeout is 2 seconds:
Packet sent with a source address of 10.0.0.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Xác thực thời gian liền kề BGPv4 giữa các PE

C9300-PE-1#show bgp vpnv4 unicast all neighbors 192.168.1.4
BGP neighbor is 192.168.1.4,  remote AS 69420, internal link
  BGP version 4, remote router ID 192.168.1.4
  BGP state = Established, up for 18:40:49
  Last read 00:00:40, last write 00:00:47, hold time is 180, keepalive interval is 60 seconds
  Neighbor sessions:
    1 active, is not multisession capable (disabled)
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Four-octets ASN Capability: advertised and received
    Address family IPv4 Unicast: advertised and received
    Address family VPNv4 Unicast: advertised and received
    Enhanced Refresh Capability: advertised and received
    Multisession Capability:
    Stateful switchover support enabled: NO for session 1
  Message statistics:
    InQ depth is 0
    OutQ depth is 0

                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                4          4
    Keepalives:          1237       1233
    Route Refresh:          0          0
    Total:               1242       1238
  Do log neighbor state changes (via global configuration)
  Default minimum time between advertisement runs is 0 seconds
<snip>

C9300-PE-2#show bgp vpnv4 unicast all neighbors 192.168.1.2
BGP neighbor is 192.168.1.2,  remote AS 69420, internal link
  BGP version 4, remote router ID 192.168.1.2
  BGP state = Established, up for 18:41:36
  Last read 00:00:42, last write 00:00:32, hold time is 180, keepalive interval is 60 seconds
  Neighbor sessions:
    1 active, is not multisession capable (disabled)
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Four-octets ASN Capability: advertised and received
    Address family IPv4 Unicast: advertised and received
    Address family VPNv4 Unicast: advertised and received
    Enhanced Refresh Capability: advertised and received
    Multisession Capability:
    Stateful switchover support enabled: NO for session 1
  Message statistics:
    InQ depth is 0
    OutQ depth is 0

                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                4          4
    Keepalives:          1234       1238
    Route Refresh:          0          0
    Total:               1239       1243
  Do log neighbor state changes (via global configuration)
  Default minimum time between advertisement runs is 0 seconds
  • Remote PE VPNv4 liền kề đã lên và đã nhận được tiền tố:
C9300-PE-1#show bgp vpnv4 unicast all summary
BGP router identifier 192.168.1.2, local AS number 69420
BGP table version is 7, main routing table version 7
4 network entries using 1024 bytes of memory
4 path entries using 544 bytes of memory
4/4 BGP path/bestpath attribute entries using 1216 bytes of memory
4 BGP extended community entries using 1000 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3784 total bytes of memory
BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs
4 networks peaked at 18:49:56 Jun 23 2021 UTC (18:41:06.070 ago)

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.4     4        69420    1240    1244        7    0    0 18:41:59        2

C9300-PE-2#show bgp vpnv4 unicast all summary
BGP router identifier 192.168.1.4, local AS number 69420
BGP table version is 7, main routing table version 7
4 network entries using 1024 bytes of memory
4 path entries using 544 bytes of memory
4/4 BGP path/bestpath attribute entries using 1216 bytes of memory
4 BGP extended community entries using 1000 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3784 total bytes of memory
BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs
4 networks peaked at 18:49:37 Jun 23 2021 UTC (18:41:06.851 ago)

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4        69420    1244    1240        7    0    0 18:42:17        2
  • Xác thực tiền tố nào được trao đổi trong VRF cụ thể:
C9300-PE-1#show ip bgp vpnv4 vrf RED
BGP table version is 7, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 69:69 (default for vrf RED)
 *>   10.0.0.0/30      0.0.0.0                  0         32768 ?
 *>i  10.0.0.20/30     192.168.1.4              0    100      0 ?
 *>i  192.168.2.0      192.168.1.4         130816    100      0 ?
 *>   192.168.3.0      10.0.0.1            130816         32768 ?

C9300-PE-2#show ip bgp vpnv4 vrf RED
BGP table version is 7, local router ID is 192.168.1.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 69:69 (default for vrf RED)
 *>i  10.0.0.0/30      192.168.1.2              0    100      0 ?
 *>   10.0.0.20/30     0.0.0.0                  0         32768 ?
 *>   192.168.2.0      10.0.0.22           130816         32768 ?
 *>i  192.168.3.0      192.168.1.2         130816    100      0 ?

Xác thực các nhãn VPNv4 và LDP

C9300-PE-1#show ip bgp vpnv4 vrf RED labels
   Network          Next Hop      In label/Out label
Route Distinguisher: 69:69 (RED)
   10.0.0.0/30      0.0.0.0         20/nolabel(RED)
   10.0.0.20/30     192.168.1.4     nolabel/20
   192.168.2.0      192.168.1.4     nolabel/21 <-- VPNv4 label that is be imposed to reach 192.168.20
   192.168.3.0      10.0.0.1        21/nolabel

C9300-PE-1#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "bgp 69420", distance 200, metric 130816, type internal
  Last update from 192.168.1.4 18:41:56 ago
  Routing Descriptor Blocks:
  * 192.168.1.4 (default), from 192.168.1.4, 18:41:56 ago
      Route metric is 130816, traffic share count is 1
      AS Hops 0
      MPLS label: 21 <-- VPNv4 label that matches the previous output 
      MPLS Flags: MPLS Required
      
C9300-PE-2#show ip bgp vpnv4 vrf RED labels
   Network          Next Hop      In label/Out label
Route Distinguisher: 69:69 (RED)
   10.0.0.0/30      192.168.1.2     nolabel/20
   10.0.0.20/30     0.0.0.0         20/nolabel(RED)
   192.168.2.0      10.0.0.22       21/nolabel <-- VPNv4 label that is advertised to reach 192.168.2.0
   192.168.3.0      192.168.1.2     nolabel/21


C9300-PE-2#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "eigrp 400", distance 90, metric 130816, precedence routine (0), type internal
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Last update from 10.0.0.22 on GigabitEthernet2/0/1, 18:45:04 ago
  Routing Descriptor Blocks:
  * 10.0.0.22, from 10.0.0.22, 18:45:04 ago, via GigabitEthernet2/0/1 <-- CE-facing interface in the VRF 
      Route metric is 130816, traffic share count is 1
      Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1
  • Xác thực các nhãn LDP được sử dụng
C9300-PE-1#show mpls forwarding-table 192.168.1.4
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6  <-- 17 is the LDP label imposed to reach PE at 192.168.1.4 through Gi1/0/2 
           17         192.168.1.4/32   0             Gi1/0/3    10.0.0.10 <-- 17 is the LDP label imposed to reach PE at 192.168.1.4 through Gi1/0/3

C9300-PE-2#show mpls forwarding-table 192.168.1.2
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
17         16         192.168.1.2/32   0             Gi2/0/2    10.0.0.13 <-- 16 is the LDP label imposed to reach PE at 192.168.1.2 through Gi2/0/2
           16         192.168.1.2/32   0             Gi2/0/3    10.0.0.17 <-- 16 is the LDP label imposed to reach PE at 192.168.1.2 through Gi2/0/3

Xác thực MPLS Forwarding Table

C9300-PE-1#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi1/0/2    10.0.0.6
           Pop Label  192.168.1.3/32   0             Gi1/0/3    10.0.0.10
17         Pop Label  10.0.0.16/30     0             Gi1/0/2    10.0.0.6
           Pop Label  10.0.0.16/30     0             Gi1/0/3    10.0.0.10
18         Pop Label  10.0.0.12/30     0             Gi1/0/2    10.0.0.6
           Pop Label  10.0.0.12/30     0             Gi1/0/3    10.0.0.10
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6
           17         192.168.1.4/32   0             Gi1/0/3    10.0.0.10
20         No Label   10.0.0.0/30[V]   630           aggregate/RED
21         No Label   192.168.3.0/24[V]   \
                                       0             Gi1/0/1    10.0.0.1

C9300-PE-2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi2/0/2    10.0.0.13
           Pop Label  192.168.1.3/32   0             Gi2/0/3    10.0.0.17
17         16         192.168.1.2/32   0             Gi2/0/2    10.0.0.13
           16         192.168.1.2/32   0             Gi2/0/3    10.0.0.17
18         Pop Label  10.0.0.4/30      0             Gi2/0/2    10.0.0.13
           Pop Label  10.0.0.4/30      0             Gi2/0/3    10.0.0.17
19         Pop Label  10.0.0.8/30      0             Gi2/0/2    10.0.0.13
           Pop Label  10.0.0.8/30      0             Gi2/0/3    10.0.0.17
20         No Label   10.0.0.20/30[V]  630           aggregate/RED
21         No Label   192.168.2.0/24[V]   \
                                       0             Gi2/0/1    10.0.0.22
  • Xác nhận các label bên trong (VPNv4) và bên ngoài (LDP) được sử dụng để tiếp cận từng tiền tố nhất định trong VRF
C9300-PE-1#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.0/24, epoch 0, flags [rib defined all labels]
  recursive via 192.168.1.4 label 21 <-- VPNv4 label
    nexthop 10.0.0.6 GigabitEthernet1/0/2 label 17-(local:19) <-- 17 is the LDP label that is imposed to reach the remote PE, 19 is the local LDP label advertised to the P router 
    nexthop 10.0.0.10 GigabitEthernet1/0/3 label 17-(local:19)<-- 17 is the LDP label that is imposed to reach the remote PE, 19 is the local LDP label advertised to the P router 
    
C9300-PE-2#show ip cef vrf RED 192.168.3.0/24 detail
192.168.3.0/24, epoch 0, flags [rib defined all labels]
  recursive via 192.168.1.2 label 21 <-- VPNv4 label
    nexthop 10.0.0.13 GigabitEthernet2/0/2 label 16-(local:17) <-- 16 is the LDP label that is imposed to reach the remote PE, 17 is the local LDP label advertised to the P router 
    nexthop 10.0.0.17 GigabitEthernet2/0/3 label 16-(local:17) <-- 16 is the LDP label that is imposed to reach the remote PE, 17 is the local LDP label advertised to the P router 
  • Xác thực Object-Manager Statistics

Trong các tình huống lý tưởng, không có đối tượng nào đang chờ xử lý

C9300-PE-1#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 491
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

9500-P#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 491
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

C9300-PE-2#show platform software object-manager switch active f0 statistics
Forwarding Manager Asynchronous Object Manager Statistics

Object update: Pending-issue: 0, Pending-acknowledgement: 0
Batch begin:   Pending-issue: 0, Pending-acknowledgement: 0
Batch end:     Pending-issue: 0, Pending-acknowledgement: 0
Command:       Pending-acknowledgement: 0
Total-objects: 482
Stale-objects: 0
Resolve-objects: 0
Childless-delete-objects: 0
Error-objects: 0
Paused-types: 0

Lập Trình Tiền Tố

Phần này bao gồm hướng dẫn lập trình tiền tố trên bộ định tuyến MPLS, C9300-PE-1, C9500-P và C9300-PE-2.

Lập trình tiền tố C9300-PE-1

***Software Prefix Programming***
C9300-PE-1#show ip route vrf RED 192.168.2.1

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "bgp 69420", distance 200, metric 130816, type internal
  Last update from 192.168.1.4 19:21:45 ago
  Routing Descriptor Blocks:
  * 192.168.1.4 (default), from 192.168.1.4, 19:21:45 ago <-- Remote PE reachable in the global routing table 
      Route metric is 130816, traffic share count is 1
      AS Hops 0
      MPLS label: 21 <-- VPNv4 label 
      MPLS Flags: MPLS Required

C9300-PE-1#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
  Known via "ospf 420", distance 110, metric 3, type intra area
  Last update from 10.0.0.10 on GigabitEthernet1/0/3, 19:23:17 ago
  Routing Descriptor Blocks:
    10.0.0.10, from 192.168.1.4, 19:23:17 ago, via GigabitEthernet1/0/3 <-- Next-hop to reach 192.168.1.4
      Route metric is 3, traffic share count is 1
  * 10.0.0.6, from 192.168.1.4, 19:23:17 ago, via GigabitEthernet1/0/2  <-- Next-hop to reach 192.168.1.4
      Route metric is 3, traffic share count is 1

***FMAN RP Prefix Programming***
C9300-PE-1#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID <-- VRF ID is important in subsequent command 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi1/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix

C9300-PE-1#show platform software ip switch active r0 cef table index 2 prefix 192.168.2.0/24 <-- Index value is the VRF ID from previous command 
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.2.0/24                  OBJ_LABEL        0x78
           

C9300-PE-1#show platform software mpls switch active r0 label index 0x78 <-- Utilize the Index value from previous command 


Label OCE 0x78 -> OBJ_LOADBALANCE (0x70) <-- Utilized in next command 
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x15
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480644d88

C9300-PE-1#show platform software loadinfo switch active r0 index 0x70 <-- Utilize the OBJ_LOADBALANCE value from previous command 
Number of loadinfo objects: 8

Index: 0x70, Flags: unknown, Hash Algorithm: , Number of Paths: 2, Number of buckets: 16
  Anti-polarising Factor: 0xf4a19ba0
  Next Object Type: OBJ_LABEL, OBJ_LABEL
  Next obj handle: 0x6e, 0x6f
  Hash Buckets: 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1
  Color Buckets Map: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  OM handle: 0x3480641fb8

C9300-PE-1#show platform software mpls switch active r0 label index 0x6e <-- Utilize the obj handle value from previous command


Label OCE 0x6e -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x34806420d0

C9300-PE-1#show platform software mpls switch active r0 label index 0x6f <-- Utilize the obj handle value from previous command 


Label OCE 0x6f -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480642268

C9300-PE-1#show platform software adjacency switch active r0 index 0x4b <-- Utilize the OBJ_ADJACENCY value from previous command 
Number of adjacency objects: 10

Adjacency id: 0x4b (75)
  Interface: GigabitEthernet1/0/2, IF index: 54, Link Type: MCP_LINK_TAG
  Encap: d4:ad:71:b5:dd:e4:a0:f8:49:11:d1:d6:88:47 <-- MAC ending in DDE4 is the DMAC, MAC ending in D1D6 is SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.6 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x34806375f8

C9300-PE-1#show platform software adjacency switch active r0 index 0x4e <-- Utilize the OBJ_ADJACENCY value from previous command 
Number of adjacency objects: 10

Adjacency id: 0x4e (78)
  Interface: GigabitEthernet1/0/3, IF index: 55, Link Type: MCP_LINK_TAG
  Encap: d4:ad:71:b5:dd:c2:a0:f8:49:11:d1:d8:88:47 <-- MAC ending DDC2 is the DMAC, MAC ending in D1D8 is the SMAC, 8847 is the MPLS ETPYE 
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.10 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x3480638200

***FMAN FP Prefix Programming***
C9300-PE-1#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi1/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix

C9300-PE-1#show platform software ip switch active f0 cef table index 2 prefix 192.168.2.0/24 detail <-- Index value is the VRF ID from previous command 
Forwarding Table

192.168.2.0/24 -> OBJ_LABEL (0x78), urpf: 118
Prefix Flags: unknown
aom id: 618, HW handle: (nil) (created)

C9300-PE-1#show platform software mpls switch active f0 label index 0x78 <-- Use the OBJ_LABEL value from previous command 


Label OCE 0x78 -> OBJ_LOADBALANCE (0x70)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x15
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 617, CPP handle: 0xdeadbeef (created)

C9300-PE-1#show platform software object-manager switch active f0 object 617 parents <-- Use the aom id from previous command 
Object identifier: 600
  Description: LB 0x70
  Status: Done

C9300-PE-1#show platform software loadinfo switch active f0 index 0x70 <-- Use the LB value from previous command 
Number of loadinfo objects: 8

Index: 0x70, Flags: unknown, Hash Algorithm: , Number of Paths: 2, Number of buckets: 16
  Anti-polarising Factor: 0xf4a19ba0
  Next Object Type: OBJ_LABEL, OBJ_LABEL
  Next obj handle: 0x6e, 0x6f
  Hash Buckets: 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1
  Color Buckets Map: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  aom id: 600, HW handle: (nil)
  
C9300-PE-1#show platform software mpls switch active f0 label index 0x6e <-- Use the obj handle values from previous commands


Label OCE 0x6e -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 598, CPP handle: 0xdeadbeef (created)


C9300-PE-1#show platform software mpls switch active f0 label index 0x6f <-- Use the obj handle values from previous command


Label OCE 0x6f -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 599, CPP handle: 0xdeadbeef (created)

C9300-PE-1#show platform software adjacency switch active f0 index 0x4b <-- Use the OBJ_ADJACENCY value from previous command
Number of adjacency objects: 10

Adjacency id: 0x4b (75)
  Interface: GigabitEthernet1/0/2, IF index: 54, Link Type: MCP_LINK_TAG
  Encap: d4:ad:71:b5:dd:e4:a0:f8:49:11:d1:d6:88:47
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.6
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 531, HW handle: (nil) (created)

C9300-PE-1#show platform software adjacency switch active f0 index 0x4e <-- Use the OBJ_ADJACENCY value from previous command
Number of adjacency objects: 10

Adjacency id: 0x4e (78)
  Interface: GigabitEthernet1/0/3, IF index: 55, Link Type: MCP_LINK_TAG
  Encap: d4:ad:71:b5:dd:c2:a0:f8:49:11:d1:d8:88:47
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.10
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 535, HW handle: (nil) (created)

***FED Prefix Programming***
C9300-PE-1#show platform software fed switch active ip route vrf-name RED 192.168.2.0/24
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
2     192.168.2.0/24                                0x7fbae8d86228 0x0     0     0   lspa0x2  2021/06/23 18:50:13.079 <-- HTM value significant for next command
  FIB: prefix_hdl:0x50000026, mpls_ecr_prefix_hdl:0
  ========== OCE chain =====
  LABEL:objid:120 link_type:IP local_label:1048577 outlabel:(21, 0) <-- VPNv4 label 
      flags:0x1:(REAL,) pdflags:0x80:(INSTALL_HW_OK,RECIR_ADJ,) adj_handle:0xcb00003c <-- adj_handle and local_adj_hdl values must match 
      unsupported recursion:0 olbl_changed 0 local_adj:1 modify_cnt:0
      bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
      AAL: id:3405774908 lbl:19 smac:0000.0000.0000 dmac:0000.0000.0000 <-- Label 19 matches the local transport label
           sub_type:0 link_type:0 adj_flags:0x10 label_type:0 rewrite_type:PSH2(121)
           vlan_id:0 vrf_id:0 ri:0x7fbae8d73648, ri_id:0x46 phdl:0, ref_cnt:2 <-- ri_id and ri_idx values must match
           si:0x7fbae8d834d8, si_id:0xb6, di_id:0x5013
  LB:obj_id:112 link_type:IP num_choices:2 Flags:0
      mpls_ecr:1 local_label:19 path_inhw:2 ecrh:0x7d000002 old_ecrh:0
      modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
      bwalk:[req:0 in_prog:0 nested:0]
    AAL: ecr:id:2097152002 af:0 ecr_type:0 ref:7 ecrh:0x7fbae8a99268(28:2)
    hwhdl:3903427176 ::0x7fbae8a98b98,0x7fbae8a9ad48,0x7fbae8a98b98,0x7fbae8a9ad48
  Sw Enh ECR scale: objid:112 llabel:19 eos:1 #adjs:2 mixed_adj:0
     reprogram_hw:0 ecrhdl:0x7d000002 ecr_hwhdl:0x7fbae8a99268
      mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
      ecr_adj: id:4278190135 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:1744830509
            sih:0x7fbae8a98b98(179) di_id:20499 rih:0x7fbae8a985d8(33)
        adj_lentry [eos0:0x7fbae8d7bf48 eos1:0x7fbae8d76e88]
      ecr_adj: id:1392508984 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:2013265966
            sih:0x7fbae8a9ad48(180) di_id:20499 rih:0x7fbae8a9a788(46)
        adj_lentry [eos0:0x7fbae8d7c1b8 eos1:0x7fbae8d77158]
      ecr_prefix_adj: id:2164260921 (ref:1)
         sih:0x7fbae8d7df08(181) di_id:20499 rih:0x7fbae8d7db98(68)
     LABEL:objid:110 link_type:MPLS local_label:19 outlabel:(17, 0) <-- Label 19 is the local transport label, Label 17 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xff000037
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:4278190135 lbl:0 smac:a0f8.4911.d1d6 dmac:d4ad.71b5.dde4 <-- Matches next-hop information to reach 192.168.2.0/24
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7fbae8d78c48, ri_id:0x40 phdl:0x9f00004b, ref_cnt:1
              si:0x7fbae8d78fd8, si_id:0x4013, di_id:0x535f <-- di_id utilized in subsequent commands 
     ADJ:objid:75 {link_type:MPLS ifnum:0x36, si:0x22000023, }
     LABEL:objid:111 link_type:MPLS local_label:19 outlabel:(17, 0) <-- Label 19 is the local transport label, Label 17 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x53000038
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:1392508984 lbl:0 smac:a0f8.4911.d1d8 dmac:d4ad.71b5.ddc2 <-- Matches next-hop information to reach 192.168.2.0/24
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7fbae8d7d0a8, ri_id:0x42 phdl:0x8400004c, ref_cnt:1
              si:0x7fbae8d7a908, si_id:0x4014, di_id:0x5360 <-- di_id utilized in subsequent commands 
     ADJ:objid:78 {link_type:MPLS ifnum:0x37, si:0x74000026, }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0, mpls_lspa_hdl:0xa7000002
    AAL:LSPA: id:2801795074 num_path:1 prefix_id:0x2 delete_hw_hdl_cnt:0
         cookie[64]: 15000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000 status:ok
          vpn_lbl:21 local_adj_hdl:0xcb00003c hw_hdl:0x7fbae8d86018 ri_idx:0x46 <-- vpn_lbl matches the VPNv4 label, adj_handle and local_adj_hdl values must match, ri_id and ri_idx must match
  ===============

C9300-PE-1#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7fbae8d86228 1 <-- Utilize the HTM value from previous command
Handle:0x7fbae8d86228 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7fbae8d71f58

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7fbae8d71f58)

Absolute Index: 92181
Time Stamp: 1
KEY - vrf:2 mtr:0 prefix:192.168.2.0 rcp_redirect_index:0x0
MASK - vrf:255 mtr:0 prefix:255.255.255.0 rcp_redirect_index:0x0
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:182 destined_to_us:0 hw_stats_idx:0 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0x2
SRC-AD = learning_violation:1 need_to_learn:1  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:0 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:0 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:0 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9300-PE-1#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x535f 0x535f <-- Utilize the di_id from the previous command
ASIC#0:

index = 0x535f
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x535f
pmap = 0x00000000 0x00000002 <-- Looking at 0x00000002, in binary that is 0000 0000 0000 0000 000 0000 0000 0010 = Port 1 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9300-PE-1#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x5360 0x5360 <-- Utilize the di_id from the previous command ASIC#0:
ASIC#0:

index = 0x5360
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x5360
pmap = 0x00000000 0x00000004 <-- Looking at 0x00000004, in binary that is 0000 0000 0000 0000 0000 0000 0000 0100 = Port 2 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9300-PE-1#show platform software fed switch active ifm map
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
GigabitEthernet1/0/2      0x36       1   0   1    1      0      6    7    2    2    NIF  Y <-- Port 1 is an egress port, Gi1/0/2
GigabitEthernet1/0/3      0x37       1   0   1    2      0      28   8    3    3    NIF  Y <-- Port 2 is an egress port, Gi1/0/3

Lập trình tiền tố C9500

***Software Prefix Programming***
C9500-P#show ip route 192.168.1.4
Routing entry for 192.168.1.4/32
  Known via "ospf 420", distance 110, metric 2, type intra area
  Last update from 10.0.0.18 on TenGigabitEthernet2/0/2, 20:15:25 ago
  Routing Descriptor Blocks:
    10.0.0.18, from 192.168.1.4, 20:15:25 ago, via TenGigabitEthernet2/0/2 <-- Next-hop towards 192.168.1.4
      Route metric is 2, traffic share count is 1
  * 10.0.0.14, from 192.168.1.4, 20:15:25 ago, via TenGigabitEthernet1/0/2 <-- Next-hop towards 192.168.1.4
      Route metric is 2, traffic share count is 1

C9500-P#show ip cef 192.168.1.4 detail
192.168.1.4/32, epoch 4, per-destination sharing
  dflt local label info: global/17 [0x3]
  nexthop 10.0.0.14 TenGigabitEthernet1/0/2 label explicit-null-(local:17) <-- Explicit null to reach 192.168.1.4
  nexthop 10.0.0.18 TenGigabitEthernet2/0/2 label explicit-null-(local:17) <-- Explicit null to reach 192.168.1.4

***FMAN RP Prefix Programming***
C9500-P#show platform software ip switch active r0 cef prefix 192.168.1.4/32
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.1.4/32                  OBJ_LOADBALANCE  0x6a

C9500-P#show platform software loadinfo switch active r0 index 0x6a <-- Use the OBJ_LOADBALANCE value from previous command 
Number of loadinfo objects: 4

Index: 0x6a, Flags: unknown, Hash Algorithm: , Number of Paths: 2, Number of buckets: 16
  Anti-polarising Factor: 0x57a70068
  Next Object Type: OBJ_LABEL, OBJ_LABEL
  Next obj handle: 0x68, 0x69
  Hash Buckets: 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1
  Color Buckets Map: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  OM handle: 0x348064de58
  
C9500-P#show platform software mpls switch active r0 label index 0x68 <-- Use the obj handle values from the previous command


Label OCE 0x68 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064df70

C9500-P#show platform software mpls switch active r0 label index 0x69


Label OCE 0x69 -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064e108
  
C9500-P#show platform software adjacency switch active r0 index 0x49 <-- Use the OBJ_ADJACENCY values from previous commands 
Number of adjacency objects: 16

Adjacency id: 0x49 (73)
  Interface: TenGigabitEthernet1/0/2, IF index: 66, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:71:d4:ad:71:b5:dd:d6:88:47 <-- MAC ending in AE71 is the DMAC, MAC ending is B5DD is SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.14 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x3480647700


C9500-P#show platform software adjacency switch active r0 index 0x4e <-- Use the OBJ_ADJACENCY values from previous commands 
Number of adjacency objects: 16

Adjacency id: 0x4e (78)
  Interface: TenGigabitEthernet2/0/2, IF index: 68, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:61:d4:ad:71:b5:dd:f1:88:47 <-- MAC ending in AE61 is DMAC, MAC ending in B5DD is SMAC, 8847 is MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.18 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x3480648f68

***FMAN FP Prefix Programming***
C9500-P#show platform software ip switch active f0 cef prefix 192.168.1.4/32
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.1.4/32                  OBJ_LOADBALANCE  0x6a

C9500-P#show platform software loadinfo switch active f0 index 0x6a <-- Use the OBJ_LOADBALANCE value from previous command 
Number of loadinfo objects: 4

Index: 0x6a, Flags: unknown, Hash Algorithm: , Number of Paths: 2, Number of buckets: 16
  Anti-polarising Factor: 0x57a70068
  Next Object Type: OBJ_LABEL, OBJ_LABEL
  Next obj handle: 0x68, 0x69
  Hash Buckets: 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1
  Color Buckets Map: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  aom id: 578, HW handle: (nil)
  
C9500-P#show platform software mpls switch active f0 label index 0x68 <-- Use the obj handle values from previous command


Label OCE 0x68 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 576, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software mpls switch active f0 label index 0x69 <-- Use the obj handle values from previous command


Label OCE 0x69 -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 577, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software adjacency switch active f0 index 0x49 <-- Use the OBJ_ADJACENCY values from previous commands
Number of adjacency objects: 16

Adjacency id: 0x49 (73)
  Interface: TenGigabitEthernet1/0/2, IF index: 66, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:71:d4:ad:71:b5:dd:d6:88:47 <-- MAC ending in AE71 is the DMAC, MAC ending in DDD6 is the SMAC, 8847 is the MPLS ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.14 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 536, HW handle: (nil) (created)

C9500-P#show platform software adjacency switch active f0 index 0x4e <-- Use the OBJ_ADJACENCY values from previous commands
Number of adjacency objects: 16

Adjacency id: 0x4e (78)
  Interface: TenGigabitEthernet2/0/2, IF index: 68, Link Type: MCP_LINK_TAG
  Encap: 70:d3:79:be:ae:61:d4:ad:71:b5:dd:f1:88:47 <-- MAC ending in AE61 is the DMAC, MAC ending in DDF1 is the SMAC, 8847 is the MPLS ETYPE 
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: unknown
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.18 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 545, HW handle: (nil) (created)

***FED Prefix Programming***
C9500-P#show platform software fed switch active ip route 192.168.1.4/32
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
0     192.168.1.4/32                                0x7f0b284c1118 0x0     0     0         2021/06/23 18:47:01.761 <-- HTM value important for subsequent command
  FIB: prefix_hdl:0x9b000020, mpls_ecr_prefix_hdl:0xdd00003a
  ========== OCE chain =====
  LB:obj_id:106 link_type:IP num_choices:2 Flags:0
      mpls_ecr:1 local_label:17 path_inhw:2 ecrh:0x44000002 old_ecrh:0
      modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
      bwalk:[req:0 in_prog:0 nested:0]
    AAL: ecr:id:1140850690 af:0 ecr_type:0 ref:2 ecrh:0x7f0b284a3998(28:2)
    hwhdl:675953048 ::0x7f0b284b4268,0x7f0b284a1d78,0x7f0b284b4268,0x7f0b284a1d78
  Sw Enh ECR scale: objid:106 llabel:17 eos:1 #adjs:2 mixed_adj:0
     reprogram_hw:0 ecrhdl:0x44000002 ecr_hwhdl:0x7f0b284a3998
      mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
      ecr_adj: id:4127195192 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:1207959601
            sih:0x7f0b284b4268(181) di_id:23709 rih:0x7f0b284b3ca8(31)
        adj_lentry [eos0:0x7f0b284c38e8 eos1:0x7f0b284cd858]
      ecr_adj: id:1157627961 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:67108914
            sih:0x7f0b284a1d78(182) di_id:23709 rih:0x7f0b284b47d8(44)
        adj_lentry [eos0:0x7f0b284c3af8 eos1:0x7f0b284cdb28]
      ecr_prefix_adj: id:3707764794 (ref:1)
         sih:0x7f0b284c5028(184) di_id:23709 rih:0x7f0b284c4c48(60)
     LABEL:objid:104 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Label 17 is the local transport label, 0 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xf6000038
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:4127195192 lbl:0 smac:d4ad.71b5.ddd6 dmac:70d3.79be.ae71 <-- Matches the next-hop information to reach 192.168.1.4/32
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7f0b284ceaa8, ri_id:0x38 phdl:0x76000058, ref_cnt:1
              si:0x7f0b284ceeb8, si_id:0x400b, di_id:0x2 <-- Used in subsequent commands
     ADJ:objid:73 {link_type:MPLS ifnum:0x42, si:0x1f000028, }
     LABEL:objid:105 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Label 17 is the local transport label, 0 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x45000039
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:1157627961 lbl:0 smac:d4ad.71b5.ddf1 dmac:70d3.79be.ae61 <-- Matches the next-hop information to reach 192.168.1.4/32
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7f0b284c4588, ri_id:0x3a phdl:0x5500005a, ref_cnt:1
              si:0x7f0b284d0548, si_id:0x400c, di_id:0x62 <-- Used in subsequent commands
     ADJ:objid:78 {link_type:MPLS ifnum:0x44, si:0x4900002a, }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0xdd00003a, mpls_lspa_hdl:0
  ===============

C9500-P#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f0b284c1118 1 <-- Use the HTM value from previous command
Handle:0x7f0b284c1118 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7f0b284c1328
Features sharing this resource:Cookie length: 12
04 01 a8 c0 00 00 00 d0 07 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7f0b284c1328)

Absolute Index: 126650
Time Stamp: 1
KEY - vrf:0 mtr:0 prefix:192.168.1.4 rcp_redirect_index:0x0
MASK - vrf:0 mtr:0 prefix:0.0.0.0 rcp_redirect_index:0x0
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:184 destined_to_us:0 hw_stats_idx:1 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0
SRC-AD = learning_violation:0 need_to_learn:0  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:2 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:1 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:1 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9500-P#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x2 0x2 <-- Use the di_id values from previous command
ASIC#0:

index = 0x2
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x2
pmap = 0x00000000 0x00000002 <-- Looking at 0x00000002, in binary that is 0000 0000 0000 0000 0000 0000 0000 0010 = Port 1 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9500-P#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x62 0x62
ASIC#0:

index = 0x62
pmap = 0x00000000 0x00008000 <-- Looking at 0x00008000, in binary that is 0000 0000 0000 0000 1000 0000 0000 0000 = Port 15 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x62
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9500-P#show platform software fed switch standby ip route 192.168.1.4/32
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
0     192.168.1.4/32                                0x7f57c0545938 0x0     0     0         2021/06/23 18:46:51.399 <-- HTM value used in subsequent command
  FIB: prefix_hdl:0x29000020, mpls_ecr_prefix_hdl:0x8f000039
  ========== OCE chain =====
  LB:obj_id:106 link_type:IP num_choices:2 Flags:0
      mpls_ecr:1 local_label:17 path_inhw:2 ecrh:0xf1000002 old_ecrh:0
      modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
      bwalk:[req:0 in_prog:0 nested:0]
    AAL: ecr:id:4043309058 af:0 ecr_type:0 ref:2 ecrh:0x7f57c04d2148(28:2)
    hwhdl:3226280264 ::0x7f57c0547538,0x7f57c05497d8,0x7f57c0547538,0x7f57c05497d8
  Sw Enh ECR scale: objid:106 llabel:17 eos:1 #adjs:2 mixed_adj:0
     reprogram_hw:0 ecrhdl:0xf1000002 ecr_hwhdl:0x7f57c04d2148
      mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
      ecr_adj: id:201326647 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:3925868592
            sih:0x7f57c0547538(181) di_id:23717 rih:0x7f57c0546f18(31)
        adj_lentry [eos0:0x7f57c04c8a08 eos1:0x7f57c04d07f8]
      ecr_adj: id:738197560 is_mpls_adj:1 l3adj_flags:0x100000
        recirc_adj_id:3070230577
            sih:0x7f57c05497d8(182) di_id:23717 rih:0x7f57c0547838(44)
        adj_lentry [eos0:0x7f57c04c8c18 eos1:0x7f57c04d0ac8]
      ecr_prefix_adj: id:2399141945 (ref:1)
         sih:0x7f57c04c8788(184) di_id:23717 rih:0x7f57c04c8508(60)
     LABEL:objid:104 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Label 17 is the local transport label, 0 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xc000037
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:201326647 lbl:0 smac:d4ad.71b5.ddd6 dmac:70d3.79be.ae71 <-- Matches next-hop information to reach 192.168.1.4/32 
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7f57c04d18e8, ri_id:0x38 phdl:0x76000058, ref_cnt:1
              si:0x7f57c04d1b18, si_id:0x400b, di_id:0x2 <-- di_id utilized in subsequent commands
     ADJ:objid:73 {link_type:MPLS ifnum:0x42, si:0xdf000027, }
     LABEL:objid:105 link_type:MPLS local_label:17 outlabel:(0, 0) <-- Label 17 is the local transport label, 0 is the LDP label 
         flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x2c000038
         unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
         bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
         AAL: id:738197560 lbl:0 smac:d4ad.71b5.ddf1 dmac:70d3.79be.ae61 <-- Matches next-hop information to reach 192.168.1.4/32 
              sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
              vlan_id:0 vrf_id:0 ri:0x7f57c04da418, ri_id:0x3a phdl:0x5500005a, ref_cnt:1
              si:0x7f57c04da838, si_id:0x400c, di_id:0x62 <-- di_id utilized in subsequent commands
     ADJ:objid:78 {link_type:MPLS ifnum:0x44, si:0xfa000029, }
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0x8f000039, mpls_lspa_hdl:0
  ===============
  
C9500-P#show platform hardware fed switch standby fwd-asic resource asic all destination-index range 0x62 0x62
ASIC#0:

index = 0x62
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x62
pmap = 0x00000000 0x00000002 <-- Looking at 0x000000002, in binary that is 0000 0000 0000 0000 0000 0000 0000 0010 = Port 1 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9500-P#show platform hardware fed switch standby fwd-asic resource asic all destination-index range 0x2 0x2
ASIC#0:

index = 0x2
pmap = 0x00000000 0x00008000 <-- Looking at 0x00008000, in binary that is 0000 0000 0000 0000 1000 0000 0000 0000 = Port 15 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x2
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9500-P#show platform software fed switch active ifm mappings
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
TenGigabitEthernet1/0/2   0x42       1   0   1    1      0      10   1    2    2    NIF  Y <-- Port 1 is an egres port, TenGi1/0/2
TenGigabitEthernet1/0/16  0x18       0   0   0    15     0      8    11   16   2360 NIF  Y <-- Port 15 is the SVL

C9500-P#show platform software fed switch standby ifm mappings
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
TenGigabitEthernet2/0/2   0x44       1   0   1    1      0      10   1    2    98   NIF  Y <-- Port 1 is an egres port, TenGi2/0/2
TenGigabitEthernet2/0/16  0x33       0   0   0    15     0      8    11   16   2360 NIF  Y <-- Port 15 is the SVL

Xác minh tiền tố C9300-PE-2

***Software Prefix Programming***
C9300-PE-2#show ip route vrf RED 192.168.2.0

Routing Table: RED
Routing entry for 192.168.2.0/24
  Known via "eigrp 400", distance 90, metric 130816, precedence routine (0), type internal
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Last update from 10.0.0.22 on GigabitEthernet2/0/1, 21:35:22 ago
  Routing Descriptor Blocks:
  * 10.0.0.22, from 10.0.0.22, 21:35:22 ago, via GigabitEthernet2/0/1 <-- Next-hop to reach 192.168.2.0/24
      Route metric is 130816, traffic share count is 1
      Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1
      
C9300-PE-2#show ip route vrf RED 10.0.0.22

Routing Table: RED
Routing entry for 10.0.0.20/30
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Redistributing via eigrp 400, bgp 69420
  Advertised by bgp 69420
  Routing Descriptor Blocks:
  * directly connected, via GigabitEthernet2/0/1
      Route metric is 0, traffic share count is 1
    
C9300-PE-2#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/21 [0x2] <-- VPNv4 Label 
  nexthop 10.0.0.22 GigabitEthernet2/0/1

***FMAN RP Prefix Programming***  
C9300-PE-2#show ip vrf detail
VRF RED (VRF Id = 2); default RD 69:69; default VPNID <-- VRF ID used in next command 
  Old CLI format, supports IPv4 only
  Flags: 0xC
  Interfaces:
    Gi2/0/1
Address family ipv4 unicast (Table ID = 0x2):
  Flags: 0x0
  Export VPN route-target communities
    RT:69:69
  Import VPN route-target communities
    RT:69:69
  No import route-map
  No global export route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix
  
C9300-PE-2#show platform software ip switch active r0 cef table index 2 prefix 192.168.2.0/24 <-- Use the VRF ID from previous command
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.2.0/24                  OBJ_ADJACENCY    0x3a

C9300-PE-2#show platform software adjacency switch active r0 index 0x3a <-- Use the OBJ_ADJACENCY value from previous command 
Number of adjacency objects: 10

Adjacency id: 0x3a (58)
  Interface: GigabitEthernet2/0/1, IF index: 53, Link Type: MCP_LINK_IP
  Encap: 0:72:78:c8:c9:c2:70:d3:79:be:ae:42:8:0 <-- MAC ending in C9C2 is the DMAC, MAC ending in AE42 is SMAC, 0800 is IP ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: no-l3-inject
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.22 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  OM handle: 0x348062b578

***FMAN FP Prefix Programming***  
C9300-PE-2#show platform software ip switch active f0 cef table index 2 prefix 192.168.2.0/24
Forwarding Table

Prefix/Len                      Next Object      Index
----------------------------------------------------------------
192.168.2.0/24                  OBJ_ADJACENCY    0x3a

C9300-PE-2#show platform software adjacency switch active f0 index 0x3a <-- Use the OBJ_ADJACENCY value from previous command 
Number of adjacency objects: 10

Adjacency id: 0x3a (58)
  Interface: GigabitEthernet2/0/1, IF index: 53, Link Type: MCP_LINK_IP
  Encap: 0:72:78:c8:c9:c2:70:d3:79:be:ae:42:8:0 <-- MAC ending in C9C2 is the DMAC, MAC ending in AE42 is SMAC, 0800 is IP ETYPE
  Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500
  Flags: no-l3-inject
  Incomplete behavior type: None
  Fixup: unknown
  Fixup_Flags_2: unknown
  Nexthop addr: 10.0.0.22 <-- Next-hop IP address 
  IP FRR MCP_ADJ_IPFRR_NONE 0
  aom id: 477, HW handle: (nil) (created)

***FED Prefix Programming***  
C9300-PE-2#show platform hardware fed switch active ip route vrf-name RED 192.168.2.0/24
vrf   dest                                          htm            flags   SGT   DGID MPLS Last-modified
---   ----                                          ---            -----   ---   ---- ---- ------------------------
2     192.168.2.0/24                                0x7f0650a7e3e8 0x0     0     0         2021/06/23 18:46:56.801 <-- HTM value used in subsequent command
  FIB: prefix_hdl:0x38000016, mpls_ecr_prefix_hdl:0
  ========== OCE chain =====
  ADJ:objid:58 {link_type:IP ifnum:0x35, si:0x9700001b, IPv4:       10.0.0.22 } <-- objid relevant in subsequent command, 10.0.0.22 is the next-hop IP 
  ===============
  MPLS info: mpls_ecr_scale_prefix_adj:0, mpls_lspa_hdl:0
  ===============
  
C9300-PE-2#show platform hardware fed switch active fwd-asic abstraction print-resource-handle 0x7f0650a7e3e8 1 <-- Use the HTM value from previous command
Handle:0x7f0650a7e3e8 Res-Type:ASIC_RSC_HASH_TCAM Res-Switch-Num:0 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_IPV4_L3_UNICAST ref_count:1
priv_ri/priv_si Handle: (nil)Hardware Indices/Handles: handle [ASIC: 0]: 0x7f0650ba4028

Detailed Resource Information (ASIC# 0)
----------------------------------------
Number of HTM Entries: 1

Entry 0: (handle 0x7f0650ba4028)

Absolute Index: 92180
Time Stamp: 1
KEY - vrf:2 mtr:0 prefix:192.168.2.0 rcp_redirect_index:0x0
MASK - vrf:255 mtr:0 prefix:255.255.255.0 rcp_redirect_index:0x0                                           (SI value used later)
FWD-AD = afd_label_flag:0 icmp_redir_enable:1 lvx_smr_enabled:0, dstNatType:0 priority:5 afdLabelOrDestClientId:0 SI:173 destined_to_us:0 hw_stats_idx:1 stats_id:0 redirectSetRouterMac:0 dgtIdx:0 destModIndex:0 dstNatTypeOrVpnPrefixPtrMsb:0 vpnPrefixPtr:0
SRC-AD = learning_violation:1 need_to_learn:1  locally_connected:0 staticentryViolation:0
rpfValid:1 rpfLe:37 rpfLePointer:0 rpfForcePass:0 rpfForceFail:0 reachableviaSome:1 rpfCheckIncomplete:0 defaultRoute:0 ChainPtrValid:0 ChainPtrOrPortLeIndex:72 UseRpfmatchTable:0 rpfIncomplete:0 is_src_ce:0 sgtValid:0 sgt:0 src_rloc_trusted:0,sgtCacheControl1 = 0, sgtCacheControl0 = 0
port_label:0x0 port_mask:0x0 vlan_label:0x0 vlan_mask:0x0 l3if_label:0x0 l3if_mask:0x0 group_label:0x0 group_mask:0x0


==============================================================

C9300-PE-2#show platform software fed switch active ip adj
IPV4 Adj entries
dest            if_name                 dst_mac          si_hdl         ri_hdl         pd_flags adj_id  Last-modified
----            -------                 -------          ------         ------         -------- -----   ------------------------
10.0.0.22       GigabitEthernet2/0/1    0072.78c8.c9c2   0x7f0650a32858 0x7f0650a1af48 0x0      0x3a       2021/06/23 18:46:52.956 

C9300-PE-2#show ip arp vrf RED 10.0.0.22
Protocol    Address        Age (min)  Hardware Addr  Type Interface
Internet    10.0.0.22           131   0072.78c8.c9c2 ARPA GigabitEthernet2/0/1  <-- dst_mac matches the ARP entry 

C9300-PE-2#show platform hardware fed fwd-asic abstraction print-resource-handle 0x7f0650a32858 1 <-- Use the HTM value from previous command
Handle:0x7f0650a32858 Res-Type:ASIC_RSC_SI Res-Switch-Num:255 Asic-Num:255 Feature-ID:AL_FID_L3_UNICAST_IPV4 Lkp-ftr-id:LKP_FEAT_INVALID ref_count:1
priv_ri/priv_si Handle: 0x7f0650a1af48Hardware Indices/Handles: index0:0xad  mtu_index/l3u_ri_index0:0x0  index1:0xad  mtu_index/l3u_ri_index1:0x0
Features sharing this resource:66 (1)]
Cookie length: 56
00 00 00 00 00 00 00 00 25 00 00 00 00 00 00 00 00 00 00 00 08 00 00 72 78 c8 c9 c2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Detailed Resource Information (ASIC# 0)
----------------------------------------


Station Index (SI) [0xad]
RI = 0x18
DI = 0x5338
stationTableGenericLabel = 0
stationFdConstructionLabel = 0x7
lookupSkipIdIndex = 0
rcpServiceId = 0
dejaVuPreCheckEn = 0
Replication Bitmap: CD

Detailed Resource Information (ASIC# 1)
----------------------------------------


Station Index (SI) [0xad]
RI = 0x18
DI = 0x5338
stationTableGenericLabel = 0
stationFdConstructionLabel = 0x7
lookupSkipIdIndex = 0
rcpServiceId = 0
dejaVuPreCheckEn = 0
Replication Bitmap: LD

==============================================================

C9300-PE-2#show platform hardware fed switch active fwd-asic resource asic all destination-index range 0x5338 0x5338 <-- Use the DI value from previous command
ASIC#0:

index = 0x5338
pmap = 0x00000000 0x00000000
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0
ASIC#1:

index = 0x5338
pmap = 0x00000000 0x00000001 <-- Looking at 0x00000001, in binary that is 0000 0000 0000 0000 0000 0000 0000 0001 = Port 0 (Zero based, count right to left)
cmi = 0x0
rcp_pmap = 0x0
al_rsc_cmi
CPU Map Index (CMI) [0]
ctiLo0 = 0
ctiLo1 = 0
ctiLo2 = 0
cpuQNum0 = 0
cpuQNum1 = 0
cpuQNum2 = 0
npuIndex = 0
stripSeg = 0
copySeg = 0

C9300-PE-2#show platform software fed switch active ifm mappings
Interface                 IF_ID    Inst Asic Core Port SubPort Mac  Cntx LPN  GPN  Type Active
GigabitEthernet2/0/1      0x35       1   0   1    0      0      26   6    1    97   NIF  Y    <-- Port 0 is the egress port, Gi2/0/1

Lập Trình Label VPNv4

Phần tiếp theo hướng dẫn lập trình label VPNv4 trên các bộ định tuyến MPLS PE, C9300-PE-1 và C9300-PE-2. C9500 = P không chuyển tiếp trên label VPNv4 nên không có đầu ra từ C9500-P.

Lập trình label C9300-PE-1 VPNv4:

Kiểm tra tiền tố cục bộ đối với PE, không phải tiền tố remote. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software VPNv4 Label Programming***
C9300-PE-1#show ip cef vrf RED 192.168.3.0/24 detail
192.168.3.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/21 [0x2] <-- VPNv4 label assocaited with the local prefix 
  nexthop 10.0.0.1 GigabitEthernet1/0/1

***FMAN RP VPNv4 Label Programming***
C9300-PE-1#show platform software mpls switch active r0 eos index 117 <-- Utilize the objid from the FED command 


EOS Choice 0x75, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x74
  OM handle: 0x3480644470

***FMAN FP VPNv4 Label Programming***
C9300-PE-1#show platform software mpls switch active f0 eos index 117 <-- Utilize the objid from the FED command 


EOS Choice 0x75, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x74
  aom id: 612, CPP handle: 0xdeadbeef (created), flags: 0

C9300-PE-1#show platform software object-manager switch active f0 object 612 <-- Use the aom id from previous command 
Object identifier: 612
  Description: EOS Choice 0x75
  Status: Done, Epoch: 0, Client data: 0xe05e9318

C9300-PE-1#show platform software object-manager switch active f0 object 612 parents <-- Use the aom id from previous command
Object identifier: 7
  Description: Special Object adj_drop
  Status: Done

Object identifier: 611
  Description: label 0x74
  Status: Done

***FED VPNv4 Label Programming***
C9300-PE-1#show platform software fed switch active mpls forwarding label 21 detail
 LENTRY:label:21 nobj:(EOS, 117) lentry_hdl:0x8b000009
   modify_cnt:0 backwalk_cnt:0
   lspa_handle:0
   AAL: id:2332033033 lbl:21
        eos0:[adj_hdl:0, hw_hdl:0x7fbae8d87428]
        eos1:[adj_hdl:0x4300003b, hw_hdl:0x7fbae8d87278]
        deagg_vrf_id = 0 lspa_handle:0
   EOS:objid:117 local_label:0 flags:0:() pdflags:0 <-- Utilized in previous commands 
      nobj0:(ADJ SPECIAL,DROP 0), nobj1:(LABEL, 116) modify:0 bwalk:0
      LABEL:objid:116 link_type:IP local_label:21 outlabel:(1048577, 0)
          flags:0xc:(UHP,POP,) pdflags:0x2:(INSTALL_HW_OK,) adj_handle:0x4300003b
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1124073531 lbl:0 smac:a0f8.4911.d1e4 dmac:0072.78c8.06e4
               sub_type:0 link_type:0 adj_flags:0x2 label_type:1 rewrite_type:POP2IP(135)
               vlan_id:0 vrf_id:0 ri:0x7fbae8d811b8, ri_id:0x3e phdl:0xf1000024, ref_cnt:1
               si:0x7fbae8d72078, si_id:0x4012, di_id:0x5338
      ADJ:objid:58 {link_type:IP ifnum:0x35, si:0x1900001b, IPv4:        10.0.0.1 }

Xác minh label C9300-PE-2 VPNv4:

Kiểm tra tiền tố cục bộ đối với PE, không phải tiền tố remote. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

C9300-PE-2#show ip cef vrf RED 192.168.2.0/24 detail
192.168.2.0/24, epoch 0
  QOS: Precedence routine (0)
  dflt local label info: other/21 [0x2] <-- VPNv4 label associated with the local prefix
  nexthop 10.0.0.22 GigabitEthernet2/0/1

C9300-PE-2#show platform software mpls switch active r0 eos index 118 <-- Utilize the objid value from the FED command 


EOS Choice 0x76, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x75
  OM handle: 0x34806402d0


C9300-PE-2#show platform software mpls switch active f0 eos index 118 <-- Utilize the objid value from the FED command 


EOS Choice 0x76, Number of paths: 2
  Next Object Type: OBJ_ADJ_DROP,OBJ_LABEL
  Next Object Index: 0,0x75
  aom id: 589, CPP handle: 0xdeadbeef (created), flags: 0

C9300-PE-2#show platform software object-manager switch active f0 object 589 <-- Utilize the aom id from the previous command
Object identifier: 589
  Description: EOS Choice 0x76
  Status: Done, Epoch: 0, Client data: 0x248cac8

C9300-PE-2#show platform software object-manager switch active f0 object 589 parents <-- Utilize the aom id from the previous command
Object identifier: 7
  Description: Special Object adj_drop
  Status: Done

Object identifier: 588
  Description: label 0x75
  Status: Done
  
C9300-PE-2#show platform software fed switch active mpls forwarding label 21 detail
 LENTRY:label:21 nobj:(EOS, 118) lentry_hdl:0x63000009
   modify_cnt:0 backwalk_cnt:0
   lspa_handle:0
   AAL: id:1660944393 lbl:21
        eos0:[adj_hdl:0, hw_hdl:0x7f0650a40408]
        eos1:[adj_hdl:0xcb00003a, hw_hdl:0x7f0650a401f8]
        deagg_vrf_id = 0 lspa_handle:0
   EOS:objid:118 local_label:0 flags:0:() pdflags:0
      nobj0:(ADJ SPECIAL,DROP 0), nobj1:(LABEL, 117) modify:0 bwalk:0
      LABEL:objid:117 link_type:IP local_label:21 outlabel:(1048577, 0)
          flags:0xc:(UHP,POP,) pdflags:0x2:(INSTALL_HW_OK,) adj_handle:0xcb00003a
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:3405774906 lbl:0 smac:70d3.79be.ae42 dmac:0072.78c8.c9c2
               sub_type:0 link_type:0 adj_flags:0x2 label_type:1 rewrite_type:POP2IP(135)
               vlan_id:0 vrf_id:0 ri:0x7f0650a3f2a8, ri_id:0x48 phdl:0xf1000024, ref_cnt:1
               si:0x7f0650a3d5e8, si_id:0x400a, di_id:0x5338
      ADJ:objid:58 {link_type:IP ifnum:0x35, si:0x9700001b, IPv4:       10.0.0.22 }

Lập Trình Label LDP

Sau đây là hướng dẫn lập trình label LDP trên các bộ định tuyến MPLS, C9300-PE-1, C9500-P và C9300-PE-2.

Label LDP (bên ngoài) là nhãn mạng MPLS chuyển đổi các gói. Xác thực label LDP cục bộ được đề xuất cho remote PE, không xác label LDP từ xa.

Lập trình label LDP C9300-PE-1:

Xác thực nhãn LDP cục bộ được giới thiệu cho remote PE, không xác thực label remote LDP. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9300-PE-1#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi1/0/2    10.0.0.6
           Pop Label  192.168.1.3/32   0             Gi1/0/3    10.0.0.10
17         Pop Label  10.0.0.16/30     0             Gi1/0/2    10.0.0.6
           Pop Label  10.0.0.16/30     0             Gi1/0/3    10.0.0.10
18         Pop Label  10.0.0.12/30     0             Gi1/0/2    10.0.0.6
           Pop Label  10.0.0.12/30     0             Gi1/0/3    10.0.0.10
19         17         192.168.1.4/32   0             Gi1/0/2    10.0.0.6 <-- LDP label 19 is advertised to reach PE 192.168.1.4
           17         192.168.1.4/32   0             Gi1/0/3    10.0.0.10
20         No Label   10.0.0.0/30[V]   630           aggregate/RED
21         No Label   192.168.3.0/24[V]   \
                                       0             Gi1/0/1    10.0.0.1

***FMAN RP LDP Label Programming***
C9300-PE-1#show platform software mpls switch active r0 label index 110 <-- Use the objid value from the FED commands 


Label OCE 0x6e -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x34806420d0

C9300-PE-1#show platform software mpls switch active r0 label index 111 <-- Use the objid value from the FED commands 


Label OCE 0x6f -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480642268

***FMAN FP LDP Label Programming***
C9300-PE-1#show platform software mpls switch active f0 label index 110 <-- Use the objid value from the FED commands 


Label OCE 0x6e -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 598, CPP handle: 0xdeadbeef (created)

C9300-PE-1#show platform software mpls switch active f0 label index 111 <-- Use the objid value from the FED commands 


Label OCE 0x6f -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x11
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 599, CPP handle: 0xdeadbeef (created)

C9300-PE-1#show platform software object-manager switch active f0 object 598 <-- Utilize the aom id from previous commands
Object identifier: 598
  Description: label 0x6e
  Status: Done, Epoch: 0, Client data: 0xe05e6d78

C9300-PE-1#show platform software object-manager switch active f0 object 598 parents <-- Utilize the aom id from previous commands
Object identifier: 531
  Description: adj 0x4b, Flags None
  Status: Done
  
C9300-PE-1#show platform software object-manager switch active f0 object 599 <-- Utilize the aom id from previous commands
Object identifier: 599
  Description: label 0x6f
  Status: Done, Epoch: 0, Client data: 0xe05e6f78


C9300-PE-1#show platform software object-manager switch active f0 object 599 parents <-- Utilize the aom id from previous commands
Object identifier: 535
  Description: adj 0x4e, Flags None
  Status: Done  

C9300-PE-1#show platform software fed switch active mpls forwarding label 19 detail
 LENTRY:label:19 nobj:(LB, 112) lentry_hdl:0x9000007
   modify_cnt:1 backwalk_cnt:0
   lspa_handle:0
   AAL: id:150994951 lbl:19
        eos0:[adj_hdl:0x7d000002, hw_hdl:0x7fbae8d778b8]
        eos1:[adj_hdl:0x7d000002, hw_hdl:0x7fbae8d776a8]
        deagg_vrf_id = 0 lspa_handle:0
   LB:obj_id:112 link_type:IP num_choices:2 Flags:0
       mpls_ecr:1 local_label:19 path_inhw:2 ecrh:0x7d000002 old_ecrh:0
       modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
       bwalk:[req:0 in_prog:0 nested:0]
     AAL: ecr:id:2097152002 af:0 ecr_type:0 ref:7 ecrh:0x7fbae8a99268(28:2)
     hwhdl:3903427176 ::0x7fbae8a98b98,0x7fbae8a9ad48,0x7fbae8a98b98,0x7fbae8a9ad48
   Sw Enh ECR scale: objid:112 llabel:19 eos:1 #adjs:2 mixed_adj:0
      reprogram_hw:0 ecrhdl:0x7d000002 ecr_hwhdl:0x7fbae8a99268
       mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
       ecr_adj: id:4278190135 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:1744830509
             sih:0x7fbae8a98b98(179) di_id:20499 rih:0x7fbae8a985d8(33)
         adj_lentry [eos0:0x7fbae8d7bf48 eos1:0x7fbae8d76e88]
       ecr_adj: id:1392508984 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:2013265966
             sih:0x7fbae8a9ad48(180) di_id:20499 rih:0x7fbae8a9a788(46)
         adj_lentry [eos0:0x7fbae8d7c1b8 eos1:0x7fbae8d77158]
       ecr_prefix_adj: id:2164260921 (ref:1)
          sih:0x7fbae8d7df08(181) di_id:20499 rih:0x7fbae8d7db98(68)
      LABEL:objid:110 link_type:MPLS local_label:19 outlabel:(17, 0) <-- Used in previous commands
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xff000037
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:4278190135 lbl:0 smac:a0f8.4911.d1d6 dmac:d4ad.71b5.dde4
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7fbae8d78c48, ri_id:0x40 phdl:0x9f00004b, ref_cnt:1
               si:0x7fbae8d78fd8, si_id:0x4013, di_id:0x535f
      ADJ:objid:75 {link_type:MPLS ifnum:0x36, si:0x22000023, }
      LABEL:objid:111 link_type:MPLS local_label:19 outlabel:(17, 0) <-- Used in previous commands 
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x53000038
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1392508984 lbl:0 smac:a0f8.4911.d1d8 dmac:d4ad.71b5.ddc2
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7fbae8d7d0a8, ri_id:0x42 phdl:0x8400004c, ref_cnt:1
               si:0x7fbae8d7a908, si_id:0x4014, di_id:0x5360
      ADJ:objid:78 {link_type:MPLS ifnum:0x37, si:0x74000026, }

Lập trình label C9500-P LDP:

Xác thực label LDP cục bộ được giới thiệu cho PE từ xa, không xác thực label remote LDP. Kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9500-P#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         explicit-n 192.168.1.2/32   1240          Te1/0/1    10.0.0.5  <-- LDP Label 16 advertised to reach PE 192.168.1.2
           explicit-n 192.168.1.2/32   226537        Te2/0/1    10.0.0.9
17         explicit-n 192.168.1.4/32   610           Te1/0/2    10.0.0.14 <-- LDP LAbel 17 advertised to reach PE 192.168.1.4
           explicit-n 192.168.1.4/32   227592        Te2/0/2    10.0.0.18

***FMAN RP LDP Label Programming***
C9500-P#show platform software mpls switch active r0 label index 94


Label OCE 0x5e -> OBJ_ADJACENCY (0x3f)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064c530

C9500-P#show platform software mpls switch active r0 label index 95


Label OCE 0x5f -> OBJ_ADJACENCY (0x44)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064c6c8
  
C9500-P#show platform software mpls switch active r0 label index 104


Label OCE 0x68 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064df70

C9500-P#show platform software mpls switch active r0 label index 105


Label OCE 0x69 -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x348064e108    

***FMAN FP LDP Label Programming***
C9500-P#show platform software mpls switch active f0 label index 94


Label OCE 0x5e -> OBJ_ADJACENCY (0x3f)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 564, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software mpls switch active f0 label index 95


Label OCE 0x5f -> OBJ_ADJACENCY (0x44)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 565, CPP handle: 0xdeadbeef (created)  

C9500-P#show platform software mpls switch active f0 label index 104


Label OCE 0x68 -> OBJ_ADJACENCY (0x49)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 576, CPP handle: 0xdeadbeef (created)

C9500-P#show platform software mpls switch active f0 label index 105


Label OCE 0x69 -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 577, CPP handle: 0xdeadbeef (created)
  
    
C9500-P#show platform software object-manager switch active f0 object 564
Object identifier: 564
  Description: label 0x5e
  Status: Done, Epoch: 0, Client data: 0x4f737108


C9500-P#show platform software object-manager switch active f0 object 564 parents
Object identifier: 515
  Description: adj 0x3f, Flags None
  Status: Done

C9500-P#show platform software object-manager switch active f0 object 565
Object identifier: 565
  Description: label 0x5f
  Status: Done, Epoch: 0, Client data: 0x4f737448


C9500-P#show platform software object-manager switch active f0 object 565 parents
Object identifier: 525
  Description: adj 0x44, Flags None
  Status: Done  

C9500-P#show platform software object-manager switch active f0 object 576
Object identifier: 576
  Description: label 0x68
  Status: Done, Epoch: 0, Client data: 0x4f6d4bf8

C9500-P#show platform software object-manager switch active f0 object 576 parents
Object identifier: 536
  Description: adj 0x49, Flags None
  Status: Done
  
C9500-P#show platform software object-manager switch active f0 object 577
Object identifier: 577
  Description: label 0x69
  Status: Done, Epoch: 0, Client data: 0x4f737f78


C9500-P#show platform software object-manager switch active f0 object 577 parents
Object identifier: 545
  Description: adj 0x4e, Flags None
  Status: Done  

***FED LDP Label Programming***
C9500-P#show platform software fed switch active mpls forwarding label 16 detail
 LENTRY:label:16 nobj:(LB, 96) lentry_hdl:0xeb000004
   modify_cnt:2 backwalk_cnt:0
   lspa_handle:0
   AAL: id:3942645764 lbl:16
        eos0:[adj_hdl:0x44000002, hw_hdl:0x7f0b284b4d98]
        eos1:[adj_hdl:0x44000002, hw_hdl:0x7f0b284b4be8]
        deagg_vrf_id = 0 lspa_handle:0
   LB:obj_id:96 link_type:IP num_choices:2 Flags:0
       mpls_ecr:1 local_label:16 path_inhw:2 ecrh:0x44000002 old_ecrh:0
       modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
       bwalk:[req:0 in_prog:0 nested:0]
     AAL: ecr:id:1140850690 af:0 ecr_type:0 ref:2 ecrh:0x7f0b284a3998(28:2)
     hwhdl:675953048 ::0x7f0b284b4268,0x7f0b284a1d78,0x7f0b284b4268,0x7f0b284a1d78
   Sw Enh ECR scale: objid:96 llabel:16 eos:1 #adjs:2 mixed_adj:0
      reprogram_hw:0 ecrhdl:0x44000002 ecr_hwhdl:0x7f0b284a3998
       mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
       ecr_adj: id:1610612787 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:1207959601
             sih:0x7f0b284b4268(181) di_id:23709 rih:0x7f0b284b3ca8(31)
         adj_lentry [eos0:0x7f0b284a32d8 eos1:0x7f0b284a3cc8]
       ecr_adj: id:805306420 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:67108914
             sih:0x7f0b284a1d78(182) di_id:23709 rih:0x7f0b284b47d8(44)
         adj_lentry [eos0:0x7f0b284c1608 eos1:0x7f0b284a2138]
       ecr_prefix_adj: id:3976200245 (ref:1)
          sih:0x7f0b284c2bf8(183) di_id:23709 rih:0x7f0b284c2888(50)
      LABEL:objid:94 link_type:MPLS local_label:16 outlabel:(0, 0)
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x60000033
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1610612787 lbl:0 smac:d4ad.71b5.dde4 dmac:a0f8.4911.d1d6
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0b284a2cd8, ri_id:0x2e phdl:0xe9000057, ref_cnt:1
               si:0x7f0b284a3048, si_id:0x4009, di_id:0x1
      ADJ:objid:63 {link_type:MPLS ifnum:0x41, si:0x2d000023, }
      LABEL:objid:95 link_type:MPLS local_label:16 outlabel:(0, 0)
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x30000034
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:805306420 lbl:0 smac:d4ad.71b5.ddc2 dmac:a0f8.4911.d1d8
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0b284a57c8, ri_id:0x30 phdl:0x67000059, ref_cnt:1
               si:0x7f0b284a6008, si_id:0x400a, di_id:0x61
      ADJ:objid:68 {link_type:MPLS ifnum:0x43, si:0xef000026, }

C9500-P#show platform software fed switch active mpls forwarding label 17 detail
 LENTRY:label:17 nobj:(LB, 106) lentry_hdl:0xf6000005
   modify_cnt:1 backwalk_cnt:0
   lspa_handle:0
   AAL: id:4127195141 lbl:17
        eos0:[adj_hdl:0x44000002, hw_hdl:0x7f0b284ce2f8]
        eos1:[adj_hdl:0x44000002, hw_hdl:0x7f0b284ce0e8]
        deagg_vrf_id = 0 lspa_handle:0
   LB:obj_id:106 link_type:IP num_choices:2 Flags:0
       mpls_ecr:1 local_label:17 path_inhw:2 ecrh:0x44000002 old_ecrh:0
       modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
       bwalk:[req:0 in_prog:0 nested:0]
     AAL: ecr:id:1140850690 af:0 ecr_type:0 ref:2 ecrh:0x7f0b284a3998(28:2)
     hwhdl:675953048 ::0x7f0b284b4268,0x7f0b284a1d78,0x7f0b284b4268,0x7f0b284a1d78
   Sw Enh ECR scale: objid:106 llabel:17 eos:1 #adjs:2 mixed_adj:0
      reprogram_hw:0 ecrhdl:0x44000002 ecr_hwhdl:0x7f0b284a3998
       mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
       ecr_adj: id:4127195192 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:1207959601
             sih:0x7f0b284b4268(181) di_id:23709 rih:0x7f0b284b3ca8(31)
         adj_lentry [eos0:0x7f0b284c38e8 eos1:0x7f0b284cd858]
       ecr_adj: id:1157627961 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:67108914
             sih:0x7f0b284a1d78(182) di_id:23709 rih:0x7f0b284b47d8(44)
         adj_lentry [eos0:0x7f0b284c3af8 eos1:0x7f0b284cdb28]
       ecr_prefix_adj: id:3707764794 (ref:1)
          sih:0x7f0b284c5028(184) di_id:23709 rih:0x7f0b284c4c48(60)
      LABEL:objid:104 link_type:MPLS local_label:17 outlabel:(0, 0)
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xf6000038
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:4127195192 lbl:0 smac:d4ad.71b5.ddd6 dmac:70d3.79be.ae71
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0b284ceaa8, ri_id:0x38 phdl:0x76000058, ref_cnt:1
               si:0x7f0b284ceeb8, si_id:0x400b, di_id:0x2
      ADJ:objid:73 {link_type:MPLS ifnum:0x42, si:0x1f000028, }
      LABEL:objid:105 link_type:MPLS local_label:17 outlabel:(0, 0)
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x45000039
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:1157627961 lbl:0 smac:d4ad.71b5.ddf1 dmac:70d3.79be.ae61
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0b284c4588, ri_id:0x3a phdl:0x5500005a, ref_cnt:1
               si:0x7f0b284d0548, si_id:0x400c, di_id:0x62
      ADJ:objid:78 {link_type:MPLS ifnum:0x44, si:0x4900002a, }

Lập trình label LDP C9300-PE-2:

Xác thực label LDP cục bộ được giới thiệu cho PE từ xa, không xác thực label remote LDP. Bắt đầu bằng cách kiểm tra label từ góc độ FED và sau đó quay lại FMAN RP và FMAN FP.

***Software LDP Label Programming***
C9300-PE-2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  192.168.1.3/32   0             Gi2/0/2    10.0.0.13
           Pop Label  192.168.1.3/32   0             Gi2/0/3    10.0.0.17
17         16         192.168.1.2/32   0             Gi2/0/2    10.0.0.13 <-- LDP Label 17 is advertised to Remote PE 192.168.1.2
           16         192.168.1.2/32   0             Gi2/0/3    10.0.0.17
18         Pop Label  10.0.0.4/30      0             Gi2/0/2    10.0.0.13
           Pop Label  10.0.0.4/30      0             Gi2/0/3    10.0.0.17
19         Pop Label  10.0.0.8/30      0             Gi2/0/2    10.0.0.13
           Pop Label  10.0.0.8/30      0             Gi2/0/3    10.0.0.17
20         No Label   10.0.0.20/30[V]  630           aggregate/RED
21         No Label   192.168.2.0/24[V]   \
                                       0             Gi2/0/1    10.0.0.22

***FMAN RP Label Programming***
C9300-PE-2#show platform software mpls switch active r0 label index 106 <-- Use the objid values from the FED commands


Label OCE 0x6a -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480637358

C9300-PE-2#show platform software mpls switch active r0 label index 107 <-- Use the objid values from the FED commands 


Label OCE 0x6b -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  OM handle: 0x3480638c10

***FMAN FP LDP Label Programming***
C9300-PE-2#show platform software mpls switch active f0 label index 106


Label OCE 0x6a -> OBJ_ADJACENCY (0x4b)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 548, CPP handle: 0xdeadbeef (created) 

C9300-PE-2#show platform software mpls switch active f0 label index 107


Label OCE 0x6b -> OBJ_ADJACENCY (0x4e)
  Flags: Real, Number of labels in the OCE: 1
  Label values: 0x10
  Backup flags: Pop, UHP, backup label 0x100001
  aom id: 549, CPP handle: 0xdeadbeef (created)

C9300-PE-2#show platform software object-manager switch active f0 object 548 <-- Use the aom id value from the previous commands 
Object identifier: 548
  Description: label 0x6a
  Status: Done, Epoch: 0, Client data: 0x24843d8


C9300-PE-2#show platform software object-manager switch active f0 object 548 parents <-- Use the aom id value from the previous commands 
Object identifier: 509
  Description: adj 0x4b, Flags None
  Status: Done

C9300-PE-2#show platform software object-manager switch active f0 object 549 <-- Use the aom id value from the previous commands
Object identifier: 549
  Description: label 0x6b
  Status: Done, Epoch: 0, Client data: 0x2484518

C9300-PE-2#show platform software object-manager switch active f0 object 549 parents <-- Use the aom id value from the previous commands
Object identifier: 513
  Description: adj 0x4e, Flags None
  Status: Done

***FED LDP Label Programming***
C9300-PE-2#show platform software fed switch active mpls forwarding label 17 detail
 LENTRY:label:17 nobj:(LB, 108) lentry_hdl:0x64000005
   modify_cnt:1 backwalk_cnt:0
   lspa_handle:0
   AAL: id:1677721605 lbl:17
        eos0:[adj_hdl:0xa0000002, hw_hdl:0x7f0650a5c8e8]
        eos1:[adj_hdl:0xa0000002, hw_hdl:0x7f0650a5b908]
        deagg_vrf_id = 0 lspa_handle:0
   LB:obj_id:108 link_type:IP num_choices:2 Flags:0
       mpls_ecr:1 local_label:17 path_inhw:2 ecrh:0xa0000002 old_ecrh:0
       modify_cnt:0 bwalk_cnt:0 subwalk_cnt:0 finish_cnt:0
       bwalk:[req:0 in_prog:0 nested:0]
     AAL: ecr:id:2684354562 af:0 ecr_type:0 ref:7 ecrh:0x7f0650a62888(28:2)
     hwhdl:1353066632 ::0x7f0650a60998,0x7f0650a630d8,0x7f0650a60998,0x7f0650a630d8
   Sw Enh ECR scale: objid:108 llabel:17 eos:1 #adjs:2 mixed_adj:0
      reprogram_hw:0 ecrhdl:0xa0000002 ecr_hwhdl:0x7f0650a62888
       mod_cnt:0 prev_npath:0 pmismatch:0 pordermatch:0
       ecr_adj: id:436207667 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:2113929262
             sih:0x7f0650a60998(178) di_id:20507 rih:0x7f0650a60378(50)
         adj_lentry [eos0:0x7f0650a877d8 eos1:0x7f0650a1cf78]
       ecr_adj: id:3976200246 is_mpls_adj:1 l3adj_flags:0x100000
         recirc_adj_id:1509949487
             sih:0x7f0650a630d8(179) di_id:20507 rih:0x7f0650a62b18(51)
         adj_lentry [eos0:0x7f0650a87a48 eos1:0x7f0650a1d188]
       ecr_prefix_adj: id:2919235640 (ref:1)
          sih:0x7f0650a87558(180) di_id:20507 rih:0x7f0650a871d8(68)
      LABEL:objid:106 link_type:MPLS local_label:17 outlabel:(16, 0) <-- Used in previous commands 
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0x1a000033
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:436207667 lbl:0 smac:70d3.79be.ae71 dmac:d4ad.71b5.ddd6
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0650a67d48, ri_id:0x3a phdl:0x9f00004b, ref_cnt:1
               si:0x7f0650a65408, si_id:0x4010, di_id:0x535f
      ADJ:objid:75 {link_type:MPLS ifnum:0x36, si:0x35000023, }
      LABEL:objid:107 link_type:MPLS local_label:17 outlabel:(16, 0) <-- Used in previous commands 
          flags:0x1:(REAL,) pdflags:0:(INSTALL_HW_OK,) adj_handle:0xed000036
          unsupported recursion:0 olbl_changed 0 local_adj:0 modify_cnt:0
          bwalk_cnt:0 subwalk_cnt:0 collapsed_oce:0
          AAL: id:3976200246 lbl:0 smac:70d3.79be.ae61 dmac:d4ad.71b5.ddf1
               sub_type:0 link_type:2 adj_flags:0 label_type:2 rewrite_type:PSH1(119)
               vlan_id:0 vrf_id:0 ri:0x7f0650a6f4f8, ri_id:0x40 phdl:0x8400004c, ref_cnt:1
               si:0x7f0650a73088, si_id:0x4013, di_id:0x5360
      ADJ:objid:78 {link_type:MPLS ifnum:0x37, si:0xa2000025, }

SỬA LỖI PHẦN CỨNG LIÊN QUAN ĐẾN MPLS TRÊN SWITCH CISCO CATALYST 9000

Syslogs Phần Cứng MPLS

Nếu bạn dùng hết một tài nguyên cụ thể, chẳng hạn như label MPLS, thông báo SYSLOG sẽ được tạo bởi hệ thống

Những điểm chính cần nhớ

  • MPLS LABEL được sử dụng để bố trí Label. (Tài nguyên này được sử dụng khi các tiền tố được học từ CE cục bộ)
  • LSPA được sử dụng để áp đặt Label. (Tài nguyên này được sử dụng khi các tiền tố được học từ remote PE)
Thông Báo MPLS Log Giải Thích Hành Động Khôi Phục
%FED_L3_ERRMSG-3-RSRC_ERR: Switch 1 R0/0: fed: Failed to allocate hardware resource for fib entry due to hardware resource exhaustion Phần cứng dành riêng cho tiền tố IP đã hết dung lượng (EM hoặc TCAM) Thực hiện một trong các hành động sau để giảm lượng tiền tố được PE cục bộ hoặc remote học được:

  1. Tóm tắt các tiền tố tại CE
  2. Thay đổi chế độ phân bổ label từ per-prefix thành per-vrf 
%FED_L3_ERRMSG-3-mpls_out_of_resource: Switch 1 R0/0: fed: Out of resource for MPLS LABEL ENTRY. Failed to program local label:8205 (8192/8192) in hardware Local label Allocation: Phần cứng dành riêng cho các label cục bộ MPLS đã hết dung lượng (EM hoặc TCAM) Thực hiện một trong các hành động sau để giảm số lượng label được sử dụng trên local PE:

  1. Tóm tắt các tiền tố tại local CE hoặc local PE
  2. Thay đổi chế độ phân bổ label từ per-prefix thành per-vrf trên PE cục bộ
%FED_L3_ERRMSG-3-MPLS_LENTRY_PAUSE: Switch 1 R0/0: fed: Critical limit reached for MPLS LABEL ENTRY resource. Lentry Create PAUSED. Local label Allocation: Phần cứng dành riêng cho các label cục bộ MPLS đã hết dung lượng (EM hoặc TCAM) Thực hiện một trong các hành động sau để giảm số lượng label được sử dụng trên local PE:

  1. Tóm tắt các tiền tố tại local CE hoặc local PE
  2. Thay đổi chế độ phân bổ label từ per-prefix thành per-vrf trên PE cục bộ
%FED_L3_ERRMSG-3-mpls_out_of_resource: Switch 1 R0/0: fed: Out of resource for MPLS LSPAFailed to program in hardware Remote label allocation: Phần cứng dành riêng cho remote label LSPA đã hết dung lượng Thực hiện một trong các hành động sau để giảm số lượng label được sử dụng trên remote label:

  • Tóm tắt các tiền tố tại remote CE hoặc remote PE
  • Thay đổi chế độ phân bổ label từ per-prefix thành per-vrf trên remote PE

Lệnh Xác Thực Phần Cứng MPLS Trên Cisco Catalyst 9000 Switch

Lệnh show platform hardware fed active fwd-asic resource tcam utilization giúp bạn xác định xem có đang gặp sự cố về quy mô phần cứng hay không. Nó hiển thị thông tin trên cơ sở mỗi ASIC

Phần này cho biết các tiền tố học PE từ BGP trong vrf MPLS với các tham số được mô tả ở đây:

  • Phân bố label mặc định cho mỗi tiền tố được sử dụng
  • PE là C9300-48U với Cisco IOS-XE 17.3.4
  • CE là với tư cách là BGP neighbor giới thiệu tiền tố cho một giao diện trong vrf MPLS
  • Độ dài tiền tố được sử dụng là /28. Do đó, nền tảng sử dụng TCAM cho độ dài tiền tố /31 hoặc ngắn hơn
  • Nền tảng này sử dụng bộ nhớ EM cho các nhãn MPLS/BGP trước, sau đó tràn sang TCAM nếu EM đầy

KẾT LUẬN

Như vậy là qua bài viết này, quản trị viên của Cisco Chính Hãng ™ đã gửi đến quý khách hàng cũng như các bạn độc giả hướng dẫn cấu hình và xác thực MPLS Snooping trên dòng sản phẩm Switch Cisco Catalyst 9000.

Cisco Chính Hãng ™ là một địa chỉ phân phối Switch Cisco chính hãng uy tín hàng đầu tại Việt Nam. Đến với chúng tôi, quý khách hàng sẽ nhận được những thông tin chính xác về nguồn gốc xuất xứ, giấy tờ, chứng chỉ, với mức giá Discount theo quy định của nhà sản xuất. Hàng luôn sẵn kho số lượng lớn để đáp ứng nhu cầu của khách hàng.

Cisco Chính Hãng ™ có văn phòng giao dịch tại 2 thành phố lớn nhất là Hà Nội và Hồ Chí Minh (Sài Gòn). Giúp thuận tiện cho khách hàng có như cầu mua Switch Cisco Catalyst 9000 Chính Hãng có thể đến trực tiếp văn phòng của chúng tôi, cũng như rút ngắn thời gian giao hàng các sản phẩm máy chủ chính hãng đến với khách hàng..

Ngoài ra thì chúng tôi phân phối Cisco chính hãng trên toàn quốc, Do đó nếu khách hàng không ở có điều kiện để đến trực tiếp văn phòng của chúng tôi tại Hà Nội và Sài Gòn thì có thể liên hệ với chúng tôi để nhận thông tin về báo giá, tình trạng hàng hoá, chương trình khuyến mại…

Để Nhận Thông Tin Hỗ Trợ Báo Giá Dự Án, Đặt Hàng, Giao Hàng, Đặt Hàng, Bảo Hành, Khuyến Mại, Hỗ Trợ Kỹ Thuật của các sản phẩm Switch Cisco Catalyst 9000 Chính HãngHãy Chát Ngay với chúng tôi ở khung bên dưới hoặc gọi điện tới số hotline hỗ trợ 24/7 của Cisco Chính Hãng ™. Quý khách cũng có thể liên hệ tới văn phòng của chúng tôi tại Hà Nội và Sài Gòn theo thông tin sau:

Địa Chỉ Phân Phối Cisco Catalyst 9000 Chính Hãng Giá Tốt Tại Hà Nội

Địa Chỉ Phân Phối Cisco Catalyst 9000 Chính Hãng Giá Tốt Tại Sài Gòn (TP HCM)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 0967.40.70.80