Juniper – Segment Routing EVPN E-Tree

Rather than the vMX, vJunos router is used for this lab & a Route Reflector is thrown into the mix to make things a little more interesting. IS-IS used as the IGP. CE1 is root & CE2 & CE3 are configured as leaves so they are not able to forward traffic to each other.

https://www.juniper.net/documentation/us/en/software/junos/evpn/topics/example/example-etree-service-evpn-configuring.html

PE1

set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.1/30
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 4.4.4.2/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 1.2.2.1/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/3 flexible-vlan-tagging
set interfaces ge-0/0/3 encapsulation flexible-ethernet-services
set interfaces ge-0/0/3 unit 545 encapsulation vlan-bridge
set interfaces ge-0/0/3 unit 545 vlan-id 545
set interfaces ge-0/0/3 unit 545 etree-ac-role root
set interfaces lo0 unit 0 family inet address 5.5.5.5/32
set interfaces lo0 unit 0 family iso address 49.0000.5555.0000.0000.00
set interfaces lo0 unit 0 family mpls
set routing-instances ETREE instance-type evpn
set routing-instances ETREE protocols evpn interface ge-0/0/3.545
set routing-instances ETREE protocols evpn evpn-etree
set routing-instances ETREE vlan-id 545
set routing-instances ETREE interface ge-0/0/3.545
set routing-instances ETREE route-distinguisher 5.5.5.5:545
set routing-instances ETREE vrf-target target:65400:545
set routing-options router-id 5.5.5.5
set routing-options autonomous-system 65400
set protocols bgp group ETREE type internal
set protocols bgp group ETREE local-address 5.5.5.5
set protocols bgp group ETREE family evpn signaling
set protocols bgp group ETREE neighbor 9.9.9.9
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/0/2.0
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing srgb start-label 80000
set protocols isis source-packet-routing srgb index-range 1000
set protocols isis source-packet-routing node-segment ipv4-index 50
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols mpls interface ge-0/0/0.0
set protocols mpls interface ge-0/0/1.0
set protocols mpls interface lo0.0

PE2

set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.2/30
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 2.2.2.1/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 1.3.3.1/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces lo0 unit 0 family inet address 6.6.6.6/32
set interfaces lo0 unit 0 family iso address 49.0000.6666.0000.0000.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 6.6.6.6
set routing-options autonomous-system 65400
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/0/2.0
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing srgb start-label 80000
set protocols isis source-packet-routing srgb index-range 1000
set protocols isis source-packet-routing node-segment ipv4-index 60
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols mpls interface ge-0/0/0.0
set protocols mpls interface ge-0/0/1.0
set protocols mpls interface lo0.0

PE3

set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 2.2.2.2/30
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 3.3.3.1/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 1.4.4.1/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/3 flexible-vlan-tagging
set interfaces ge-0/0/3 encapsulation flexible-ethernet-services
set interfaces ge-0/0/3 unit 545 encapsulation vlan-bridge
set interfaces ge-0/0/3 unit 545 vlan-id 545
set interfaces ge-0/0/3 unit 545 etree-ac-role leaf
set interfaces lo0 unit 0 family inet address 7.7.7.7/32
set interfaces lo0 unit 0 family iso address 49.0000.7777.0000.0000.00
set interfaces lo0 unit 0 family mpls
set routing-instances ETREE instance-type evpn
set routing-instances ETREE protocols evpn interface ge-0/0/3.545
set routing-instances ETREE protocols evpn evpn-etree
set routing-instances ETREE vlan-id 545
set routing-instances ETREE interface ge-0/0/3.545
set routing-instances ETREE route-distinguisher 7.7.7.7:545
set routing-instances ETREE vrf-target target:65400:545
set routing-options router-id 7.7.7.7
set routing-options autonomous-system 65400
set protocols bgp group ETREE type internal
set protocols bgp group ETREE local-address 7.7.7.7
set protocols bgp group ETREE family evpn signaling
set protocols bgp group ETREE neighbor 9.9.9.9
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/0/2.0
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing srgb start-label 80000
set protocols isis source-packet-routing srgb index-range 1000
set protocols isis source-packet-routing node-segment ipv4-index 70
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols mpls interface ge-0/0/0.0
set protocols mpls interface ge-0/0/1.0
set protocols mpls interface lo0.0

PE4

set chassis network-services enhanced-ip
set interfaces ge-0/0/0 unit 0 family inet address 3.3.3.2/30
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 4.4.4.1/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 1.5.5.1/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/3 flexible-vlan-tagging
set interfaces ge-0/0/3 encapsulation flexible-ethernet-services
set interfaces ge-0/0/3 unit 545 encapsulation vlan-bridge
set interfaces ge-0/0/3 unit 545 vlan-id 545
set interfaces ge-0/0/3 unit 545 etree-ac-role leaf
set interfaces lo0 unit 0 family inet address 8.8.8.8/32
set interfaces lo0 unit 0 family iso address 49.0000.8888.0000.0000.00
set interfaces lo0 unit 0 family mpls
set routing-instances ETREE instance-type evpn
set routing-instances ETREE protocols evpn interface ge-0/0/3.545
set routing-instances ETREE protocols evpn evpn-etree
set routing-instances ETREE vlan-id 545
set routing-instances ETREE interface ge-0/0/3.545
set routing-instances ETREE route-distinguisher 8.8.8.8:545
set routing-instances ETREE vrf-target target:65400:545
set routing-options router-id 8.8.8.8
set routing-options autonomous-system 65400
set protocols bgp group ETREE type internal
set protocols bgp group ETREE local-address 8.8.8.8
set protocols bgp group ETREE family evpn signaling
set protocols bgp group ETREE neighbor 9.9.9.9
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/0/2.0
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing srgb start-label 80000
set protocols isis source-packet-routing srgb index-range 1000
set protocols isis source-packet-routing node-segment ipv4-index 80
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols mpls interface ge-0/0/0.0
set protocols mpls interface ge-0/0/1.0
set protocols mpls interface lo0.0

RR

set interfaces ge-0/0/1 unit 0 family inet address 1.2.2.2/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/2 unit 0 family inet address 1.3.3.2/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/3 unit 0 family inet address 1.4.4.2/30
set interfaces ge-0/0/3 unit 0 family iso
set interfaces ge-0/0/4 unit 0 family inet address 1.5.5.2/30
set interfaces ge-0/0/4 unit 0 family iso
set interfaces lo0 unit 0 family inet address 9.9.9.9/32
set interfaces lo0 unit 0 family iso address 49.0000.9999.0000.0000.00
set routing-options resolution rib bgp.evpn.0 resolution-ribs inet.0
set routing-options router-id 9.9.9.9
set routing-options autonomous-system 65400
set protocols bgp group ETREE type internal
set protocols bgp group ETREE local-address 9.9.9.9
set protocols bgp group ETREE family evpn signaling
set protocols bgp group ETREE cluster 9.9.9.9
set protocols bgp group ETREE neighbor 5.5.5.5
set protocols bgp group ETREE neighbor 7.7.7.7
set protocols bgp group ETREE neighbor 8.8.8.8
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/0/2.0
set protocols isis interface ge-0/0/3.0
set protocols isis interface ge-0/0/4.0
set protocols isis interface lo0.0 passive

The attachment circuits will now be up

OSPF has been configured on the CE devices. As root, CE1 will be neighbours with both CE2 & CE3

Leaves will only be neighbours with root. Output from CE2 confirms this.

Cisco IOS XE – RSVP L3VPN

We have done a L2VPN on IOS XE so lets give a L3VPN a try. RSVP is used for signalling, IS-IS for the IGP and P1 acting as a route reflector. 2 Cisco CE devices with OSPF configured to the PEs. Will throw in an OSPF sham link for a bit of fun.

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/mp_l3_vpns/configuration/xe-17/mp-l3-vpns-xe-17-book.html

PE1

hostname pe1

ip vrf CE1
rd 5.5.5.5:100
route-target export 65200:100
route-target import 65200:100

mpls traffic-eng tunnels
  
interface Loopback0
ip address 5.5.5.5 255.255.255.255
ip router isis 1
isis circuit-type level-2-only

interface Loopback1
ip vrf forwarding CE1
ip address 22.22.22.22 255.255.255.255

interface Tunnel1
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 7.7.7.7
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 dynamic

interface GigabitEthernet1
ip address 1.1.1.1 255.255.255.252
ip router isis 1
mpls ip
mpls traffic-eng tunnels
isis circuit-type level-2-only
isis network point-to-point
ip rsvp bandwidth percent 50
ip rsvp signalling hello

interface GigabitEthernet2
ip vrf forwarding CE1
ip address 10.1.1.1 255.255.255.0
ip ospf 1 area 0
  
router ospf 1 vrf CE1
area 0 sham-link 22.22.22.22 33.33.33.33
redistribute bgp 65200

router isis 1
net 49.0000.5555.5555.5555.00
is-type level-2-only
metric-style wide
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2

router bgp 65200
bgp log-neighbor-changes
neighbor 6.6.6.6 remote-as 65200
neighbor 6.6.6.6 update-source Loopback0

address-family vpnv4
neighbor 6.6.6.6 activate
neighbor 6.6.6.6 send-community extended
exit-address-family

address-family ipv4 vrf CE1
network 22.22.22.22 mask 255.255.255.255
redistribute ospf 1
exit-address-family

P1

hostname p1

mpls traffic-eng tunnels
  
interface Loopback0
ip address 6.6.6.6 255.255.255.255
ip router isis 1
isis circuit-type level-2-only

interface GigabitEthernet1
ip address 1.1.1.2 255.255.255.252
ip router isis 1
mpls ip
mpls traffic-eng tunnels
isis circuit-type level-2-only
isis network point-to-point
ip rsvp bandwidth percent 50
ip rsvp signalling hello

interface GigabitEthernet2
ip address 2.2.2.1 255.255.255.252
ip router isis 1
mpls ip
mpls traffic-eng tunnels
isis circuit-type level-2-only
isis network point-to-point
ip rsvp bandwidth percent 50
ip rsvp signalling hello

router isis 1
net 49.0000.6666.6666.6666.00
is-type level-2-only
metric-style wide
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2

router bgp 65200
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65200
neighbor 5.5.5.5 update-source Loopback0
neighbor 7.7.7.7 remote-as 65200
neighbor 7.7.7.7 update-source Loopback0

address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 route-reflector-client
neighbor 7.7.7.7 activate
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 route-reflector-client
exit-address-family

PE2

hostname pe2

ip vrf CE2
rd 7.7.7.7:100
route-target export 65200:100
route-target import 65200:100

mpls traffic-eng tunnels
  
interface Loopback0
ip address 7.7.7.7 255.255.255.255
ip router isis 1
isis circuit-type level-2-only
  
interface Loopback1
ip vrf forwarding CE2
ip address 33.33.33.33 255.255.255.255

interface Tunnel1
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 5.5.5.5
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 dynamic

interface GigabitEthernet1
ip address 2.2.2.2 255.255.255.252
ip router isis 1
mpls ip
mpls traffic-eng tunnels
isis circuit-type level-2-only
isis network point-to-point
ip rsvp bandwidth percent 50
ip rsvp signalling hello

interface GigabitEthernet2
ip vrf forwarding CE2
ip address 10.2.2.1 255.255.255.0
ip ospf 1 area 0
  
router ospf 1 vrf CE2
router-id 10.2.2.1
area 0 sham-link 33.33.33.33 22.22.22.22
redistribute bgp 65200

router isis 1
net 49.0000.7777.7777.7777.00
is-type level-2-only
metric-style wide
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2

router bgp 65200
bgp log-neighbor-changes
neighbor 6.6.6.6 remote-as 65200
neighbor 6.6.6.6 update-source Loopback0

address-family vpnv4
neighbor 6.6.6.6 activate
neighbor 6.6.6.6 send-community extended
exit-address-family

address-family ipv4 vrf CE2
network 33.33.33.33 mask 255.255.255.255
redistribute ospf 1
exit-address-family

The L3VPN will now be up and you can confirm by checking the routing tables of the CE devices. In this instance the sham links were configured with IP addresses of 22.22.22.22/32 & 33.33.33.33/32.