MPLS Multi Vendor(2/6): Basic PE configuration


Continuing with the article of MPLS Multi Vendor, in this article we are going to introduce the basic configuration in the PEs. Including IS-IS and LDP in the core facing interfaces, after this configuration all the PEs should know in their routing table the IP address of the interface loopback 0 of the remaining PEs, and should populate labels using LDP.


Configuration:


IS-IS and LDP is configured in core facing interfaces, and enabling it also in the interfaces of the P routers that connects to the PEs.

CiPE:


hostname CiPE
int e0/2
ip add 10.0.3.2 255.255.255.0
mpls ip
ip router isis
int loo 0
ip add 4.4.4.4 255.255.255.255
ip router isis

  mpls ldp router-id loopback 0


router isis
  net 49.0004.0004.0004.0004.00
  is-type level-2-only


JPE:


set system host-name JPE
set interfaces ge-0/0/7 unit 0 family inet address 10.0.4.2/24
set interfaces ge-0/0/7 unit 0 family iso
set interfaces ge-0/0/7 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 5.5.5.5/32
set interfaces lo0 unit 0 family iso address 49.0005.0005.0005.0005.00
set interfaces lo0 unit 0 family mpls

set protocols isis level 1 disable
set protocols isis interface ge-0/0/7.0
set protocols isis interface lo0.0
set protocols ldp interface ge-0/0/7.0


JP:

set interfaces ge-0/0/7 unit 0 family inet address 10.0.3.1/24
set interfaces ge-0/0/7 unit 0 family iso
set interfaces ge-0/0/7 unit 0 family mpls
set protocols isis interface ge-0/0/7.0
set protocols ldp interface ge-0/0/7.0

CiP:


int e0/2
ip add 10.0.4.1 255.255.255.0
ip router isis
mpls ip
no shut

The configuration in the Junos PE is a little bit different to the IOS and IOS-XR, you need to configure three address families in the interfaces: Inet, ISO, and MPLS. And the CLNS net address need to be configured in an interface, that normally is the loopback address.

Checking Label allocation in the PEs:


We should check that the we have the IS-IS adjacencies between PEs and Ps and LDP neighbours as well. Finally we should check that we are generating labels for any other device in the network, specially for the other PEs.

CiPE:


CiPE#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  2.2.2.2/32       0             Et0/2      10.0.3.1
17         No Label   10.0.2.0/24      0             Et0/2      10.0.3.1
18         No Label   10.0.1.0/24      0             Et0/2      10.0.3.1
19         299776     3.3.3.3/32       0             Et0/2      10.0.3.1
20         299792     1.1.1.1/32       0             Et0/2      10.0.3.1
21         299808     10.0.0.0/24      0             Et0/2      10.0.3.1
23         299840     5.5.5.5/32       0             Et0/2      10.0.3.1
24         299776     10.0.4.0/24      0             Et0/2      10.0.3.1

JPE:


lab@JPE> show route table inet.3

inet.3: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

1.1.1.1/32         *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0, Push 16
2.2.2.2/32         *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0, Push 18
3.3.3.3/32         *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0
4.4.4.4/32         *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0, Push 20
10.0.0.0/24        *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0
10.0.1.0/24        *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0, Push 17
10.0.2.0/24        *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0
10.0.3.0/24        *[LDP/9] 00:04:10, metric 1
                    > to 10.0.4.1 via ge-0/0/7.0, Push 19

One big difference between IOS and Junos is how the routers store the MPLS labels, Cisco has a MPLS forwarding table, and Junos uses a routing table named inet.3, the global routing table in a Junos device is the inet.0. 

Creating the VRFs Odd and Even:


Once the MPLS layer is working our next step is to create the VRFs where we are going to place the customers, one of them are going to be for Odd routers and the other is going to be for Even routers.

CiPE:


vrf definition ODD
 rd 100:111
 address-family ipv4
  route-target export 111:111
  route-target import 111:111
 exit-address-family


vrf definition EVEN
 rd 100:222
 address-family ipv4
  route-target export 222:222
  route-target import 222:222
 exit-address-family

 interface Ethernet0/0
 vrf forwarding EVEN
 ip address 192.168.1.1 255.255.255.0
 no shut

 interface Ethernet0/1
 vrf forwarding ODD
 ip address 172.16.1.1 255.255.255.0
 no shut


JPE:


set policy-options community rt_111:111 members target:111:111
set policy-options community rt_222:222 members target:222:222

set policy-options policy-statement Import_ODD term 1 from protocol bgp
set policy-options policy-statement Import_ODD term 1 from community rt_111:111
set policy-options policy-statement Import_ODD term 1 then accept
set policy-options policy-statement Import_EVEN term 1 from protocol bgp
set policy-options policy-statement Import_EVEN term 1 from community rt_222:222
set policy-options policy-statement Import_EVEN term 1 then accept

set policy-options policy-statement Export_ODD term 1 from protocol bgp
set policy-options policy-statement Export_ODD term 1 then community add rt_111:111
set policy-options policy-statement Export_ODD term 1 then accept
set policy-options policy-statement Export_EVEN term 1 from protocol bgp
set policy-options policy-statement Export_EVEN term 1 then community add rt_222:222
set policy-options policy-statement Export_EVEN term 1 then accept

set routing-instances ODD instance-type vrf
set routing-instances ODD interface ge-0/0/5.0
set routing-instances ODD route-distinguisher 100:111
set routing-instances ODD vrf-import Import_ODD
set routing-instances ODD vrf-export Export_ODD

set routing-instances EVEN instance-type vrf
set routing-instances EVEN interface ge-0/0/6.0
set routing-instances EVEN route-distinguisher 100:222
set routing-instances EVEN vrf-import Import_EVEN
set routing-instances EVEN vrf-export Export_EVEN

set interface ge-0/0/5.0 family inet address 172.16.2.1/24
set interface ge-0/0/6.0 family inet address 192.168.2.1/24


Probably Junos configuration for the VPNs is a little bit more extensive because there are some policy filtering that is mandatory in Junos and optional in IOS. Anyway if you use the right RT you are not going to face any issue to import and export routes in the VPNs. If you are a Cisco only engineer another configuration that could be surprising could be that the Route Targets need to be defined.

Share this

Related Posts

Previous
Next Post »