This article is to know how to configure and troubleshoot an easy MPLS network using Multi Vendor devices for PE and P routers. In the next topology I am using Cisco IOS routers, Cisco IOS-XR routers, and Juniper Junos routers.
Netmap:
XR is an IOS-XR P.
JP: is a Junos MX P.
CiP: is a Cisco IOS P.
CiPE: is a Cisco IOS PE.
JPE: is a Juniper PE.
R6-R9: Cisco IOS CE Routers.
Core Layer:
Core Layer is quite easy, each device has it's own different configuration but it is only IS-IS Level 2 and LDP.
Configuration:
XR:
hostname XR
interface Loopback0
ipv4 address 1.1.1.1 255.255.255.255
interface GigabitEthernet0/0/0/7
ipv4 address 10.0.0.1 255.255.255.0
interface GigabitEthernet0/0/0/8
ipv4 address 10.0.1.1 255.255.255.0
router isis 1
is-type level-2-only
net 49.0001.0001.0001.0001.00
address-family ipv4 unicast
interface Loopback0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/7
address-family ipv4 unicast
interface GigabitEthernet0/0/0/8
address-family ipv4 unicast
mpls ldp
router-id 1.1.1.1
interface GigabitEthernet0/0/0/7
interface GigabitEthernet0/0/0/8
JP:
set system host-name JP
set interfaces ge-0/0/5 unit 0 family inet address 10.0.2.1/24
set interfaces ge-0/0/5 unit 0 family iso
set interfaces ge-0/0/5 unit 0 family mpls
set interfaces ge-0/0/6 unit 0 family inet address 10.0.1.2/24
set interfaces ge-0/0/6 unit 0 family iso
set interfaces ge-0/0/6 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 2.2.2.2/32
set interfaces lo0 unit 0 family iso address 49.0002.0002.0002.0002.00
set protocols isis interface ge-0/0/5.0
set protocols isis interface ge-0/0/6.0
set protocols isis interface lo0.0
set protocols isis level 1 disable
set protocols ldp interface ge-0/0/5.0
set protocols ldp interface ge-0/0/6.0
CiP:
hostname CiP
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip router isis
interface Ethernet0/0
ip address 10.0.0.2 255.255.255.0
ip router isis
mpls ip
interface Ethernet0/1
ip address 10.0.2.2 255.255.255.0
ip router isis
mpls ip
router isis
net 49.0003.0003.0003.0003.00
is-type level-2-only
mpls ldp router-id Loopback0
Checking ISIS adjacencies:
We need to check that we have l2 isis adjacencies between all the P routers, and check the routing table to show that we have all the loopback address in the routing table.
XR:
RP/0/0/CPU0:XR# show isis interface brief
Wed Jun 22 00:58:04.707 UTC
IS-IS 1 Interfaces
Interface All Adjs Adj Topos Adv Topos CLNS MTU Prio
OK L1 L2 Run/Cfg Run/Cfg L1 L2
----------------- --- --------- --------- --------- ---- ---- --------
Lo0 Yes - 0 1/1 1/1 Up 1500 - -
Gi0/0/0/7 Yes - 1 1/1 1/1 Up 1497 - 64
Gi0/0/0/8 Yes - 1* 1/1 1/1 Up 1497 - 64
RP/0/0/CPU0:XR#show isis neighbors
Wed Jun 22 00:54:49.591 UTC
IS-IS 1 neighbors:
System Id Interface SNPA State Holdtime Type IETF-NSF
JP Gi0/0/0/8 0005.8671.af06 Up 21 L2 Capable
CiP Gi0/0/0/7 aabb.cc00.0500 Up 9 L2 Capable
RP/0/0/CPU0:XR#show route ipv4
Wed Jun 22 00:55:16.589 UTC
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP
A - access/subscriber, a - Application route
M - mobile route, r - RPL, (!) - FRR Backup path
Gateway of last resort is not set
L 1.1.1.1/32 is directly connected, 00:16:50, Loopback0
i L2 2.2.2.2/32 [115/10] via 10.0.1.2, 00:16:40, GigabitEthernet0/0/0/8
i L2 3.3.3.3/32 [115/20] via 10.0.0.2, 00:16:44, GigabitEthernet0/0/0/7
C 10.0.0.0/24 is directly connected, 00:16:50, GigabitEthernet0/0/0/7
L 10.0.0.1/32 is directly connected, 00:16:50, GigabitEthernet0/0/0/7
C 10.0.1.0/24 is directly connected, 00:16:50, GigabitEthernet0/0/0/8
L 10.0.1.1/32 is directly connected, 00:16:50, GigabitEthernet0/0/0/8
i L2 10.0.2.0/24 [115/20] via 10.0.0.2, 00:16:40, GigabitEthernet0/0/0/7
[115/20] via 10.0.1.2, 00:16:40, GigabitEthernet0/0/0/8
JP:
lab@JP> show isis interface
IS-IS interface database:
Interface L CirID Level 1 DR Level 2 DR L1/L2 Metric
ge-0/0/5.0 2 0x1 Disabled CiP.02 10/10
ge-0/0/6.0 2 0x1 Disabled XR.03 10/10
lo0.0 2 0x1 Passive Passive 0/0
lab@JP> show isis adjacency
Interface System L State Hold (secs) SNPA
ge-0/0/5.0 CiP 2 Up 8 aa:bb:cc:0:5:10
ge-0/0/6.0 XR 2 Up 9 50:0:0:2:0:9
lab@JP> show route table inet.0
inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.1.1/32 *[IS-IS/18] 00:08:03, metric 20
> to 10.0.1.1 via ge-0/0/6.0
2.2.2.2/32 *[Direct/0] 00:23:02
> via lo0.0
3.3.3.3/32 *[IS-IS/18] 00:08:03, metric 20
> to 10.0.2.2 via ge-0/0/5.0
10.0.0.0/24 *[IS-IS/18] 00:08:03, metric 20
to 10.0.2.2 via ge-0/0/5.0
> to 10.0.1.1 via ge-0/0/6.0
10.0.1.0/24 *[Direct/0] 00:22:25
> via ge-0/0/6.0
10.0.1.2/32 *[Local/0] 00:22:26
Local via ge-0/0/6.0
10.0.2.0/24 *[Direct/0] 00:22:25
> via ge-0/0/5.0
10.0.2.1/32 *[Local/0] 00:22:26
Local via ge-0/0/5.0
CiP:
CiP#show clns interface loopback 0
Loopback0 is up, line protocol is up
Checksums enabled, MTU 1514, Encapsulation LOOPBACK
ERPDUs enabled, min. interval 10 msec.
CLNS fast switching disabled
CLNS SSE switching disabled
DEC compatibility mode OFF for this interface
Next ESH/ISH in 12 seconds
Routing Protocol: IS-IS
Circuit Type: level-1-2
Interface number 0x0, local circuit ID 0x100
Level-2 Metric: 10, Priority: 64, Circuit ID: CiP.00
Level-2 IPv6 Metric: 10
Number of active level-2 adjacencies: 0
Next IS-IS Hello in 0 seconds
if state DOWN
CiP#show clns interface ethernet 0/0
Ethernet0/0 is up, line protocol is up
Checksums enabled, MTU 1497, Encapsulation SAP
ERPDUs enabled, min. interval 10 msec.
CLNS fast switching enabled
CLNS SSE switching disabled
DEC compatibility mode OFF for this interface
Next ESH/ISH in 31 seconds
Routing Protocol: IS-IS
Circuit Type: level-1-2
Interface number 0x1, local circuit ID 0x1
Level-2 Metric: 10, Priority: 64, Circuit ID: CiP.01
DR ID: CiP.01
Level-2 IPv6 Metric: 10
Number of active level-2 adjacencies: 1
Next IS-IS LAN Level-2 Hello in 1 seconds
CiP#show clns interface ethernet 0/1
Ethernet0/1 is up, line protocol is up
Checksums enabled, MTU 1497, Encapsulation SAP
ERPDUs enabled, min. interval 10 msec.
CLNS fast switching enabled
CLNS SSE switching disabled
DEC compatibility mode OFF for this interface
Next ESH/ISH in 2 seconds
Routing Protocol: IS-IS
Circuit Type: level-1-2
Interface number 0x2, local circuit ID 0x2
Level-2 Metric: 10, Priority: 64, Circuit ID: CiP.02
DR ID: CiP.02
Level-2 IPv6 Metric: 10
Number of active level-2 adjacencies: 1
Next IS-IS LAN Level-2 Hello in 2 seconds
CiP#show isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
XR L2 Et0/0 10.0.0.1 UP 29 CiP.01
JP L2 Et0/1 10.0.2.1 UP 26 CiP.02
CiP#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
1.0.0.0/32 is subnetted, 1 subnets
i L2 1.1.1.1 [115/20] via 10.0.0.1, 00:26:52, Ethernet0/0
2.0.0.0/32 is subnetted, 1 subnets
i L2 2.2.2.2 [115/10] via 10.0.2.1, 00:26:19, Ethernet0/1
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C 10.0.0.0/24 is directly connected, Ethernet0/0
L 10.0.0.2/32 is directly connected, Ethernet0/0
i L2 10.0.1.0/24 [115/20] via 10.0.2.1, 00:26:19, Ethernet0/1
[115/20] via 10.0.0.1, 00:26:19, Ethernet0/0
C 10.0.2.0/24 is directly connected, Ethernet0/1
L 10.0.2.2/32 is directly connected, Ethernet0/1
Checking LDP neighbours:
Next step is to check that all the LDP neighbours are up and allocating labels.
XR:
RP/0/0/CPU0:XR#show mpls ldp neighbor brief
Wed Jun 22 01:09:20.081 UTC
Peer GR NSR Up Time Discovery Addresses Labels
ipv4 ipv6 ipv4 ipv6 ipv4 ipv6
----------------- -- --- ---------- ---------- ---------- ------------
3.3.3.3:0 N N 00:30:45 1 0 3 0 6 0
2.2.2.2:0 N N 00:30:36 1 0 2 0 4 0
RP/0/0/CPU0:XR#show mpls interfaces
Wed Jun 22 01:09:49.969 UTC
Interface LDP Tunnel Static Enabled
-------------------------- -------- -------- -------- --------
GigabitEthernet0/0/0/7 Yes No No Yes
GigabitEthernet0/0/0/8 Yes No No Yes
RP/0/0/CPU0:XR#show mpls forwarding
Wed Jun 22 01:10:14.047 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24000 Pop 3.3.3.3/32 Gi0/0/0/7 10.0.0.2 3559
24001 Pop 2.2.2.2/32 Gi0/0/0/8 10.0.1.2 19259
24002 Pop 10.0.2.0/24 Gi0/0/0/7 10.0.0.2 0
Unlabelled 10.0.2.0/24 Gi0/0/0/8 10.0.1.2 0
JP:
lab@JP> show ldp neighborAddress Interface Label space ID Hold time
10.0.2.2 ge-0/0/5.0 3.3.3.3:0 13
10.0.1.1 ge-0/0/6.0 1.1.1.1:0 12
lab@JP> show ldp interface
Interface Label space ID Nbr count Next hello
ge-0/0/5.0 2.2.2.2:0 1 3
ge-0/0/6.0 2.2.2.2:0 1 0
lab@JP> show route table inet.3
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.1.1/32 *[LDP/9] 00:28:03, metric 1
> to 10.0.1.1 via ge-0/0/6.0
3.3.3.3/32 *[LDP/9] 00:28:03, metric 1
> to 10.0.2.2 via ge-0/0/5.0
10.0.0.0/24 *[LDP/9] 00:28:03, metric 1
> to 10.0.2.2 via ge-0/0/5.0
to 10.0.1.1 via ge-0/0/6.0
lab@JP> show route table mpls.0
mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
299776 *[LDP/9] 00:28:22, metric 1
> to 10.0.2.2 via ge-0/0/5.0, Pop
299776(S=0) *[LDP/9] 00:28:22, metric 1
> to 10.0.2.2 via ge-0/0/5.0, Pop
299792 *[LDP/9] 00:28:22, metric 1
> to 10.0.1.1 via ge-0/0/6.0, Pop
299792(S=0) *[LDP/9] 00:28:22, metric 1
> to 10.0.1.1 via ge-0/0/6.0, Pop
299808 *[LDP/9] 00:28:22, metric 1
to 10.0.2.2 via ge-0/0/5.0, Pop
> to 10.0.1.1 via ge-0/0/6.0, Pop
299808(S=0) *[LDP/9] 00:28:22, metric 1
> to 10.0.2.2 via ge-0/0/5.0, Pop
to 10.0.1.1 via ge-0/0/6.0, Pop
CiP:
CiP#show mpls ldp neighbor
Peer LDP Ident: 1.1.1.1:0; Local LDP Ident 3.3.3.3:0
TCP connection: 1.1.1.1.646 - 3.3.3.3.44872
State: Oper; Msgs sent/rcvd: 58/59; Downstream
Up time: 00:43:31
LDP discovery sources:
Ethernet0/0, Src IP addr: 10.0.0.1
Addresses bound to peer LDP Ident:
10.0.0.1 10.0.1.1 1.1.1.1
Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 3.3.3.3:0
TCP connection: 2.2.2.2.646 - 3.3.3.3.36549
State: Oper; Msgs sent/rcvd: 308/272; Downstream
Up time: 00:43:21
LDP discovery sources:
Ethernet0/1, Src IP addr: 10.0.2.1
Addresses bound to peer LDP Ident:
10.0.1.2 10.0.2.1
CiP#show mpls interfaces
Interface IP Tunnel BGP Static Operational
Ethernet0/0 Yes (ldp) No No No Yes
Ethernet0/1 Yes (ldp) No No No Yes
CiP#show mpls forwarding-table
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 1.1.1.1/32 0 Et0/0 10.0.0.1
17 Pop Label 10.0.1.0/24 0 Et0/0 10.0.0.1
No Label 10.0.1.0/24 0 Et0/1 10.0.2.1
18 Pop Label 2.2.2.2/32 0 Et0/1 10.0.2.1