Juniper Inter-AS MPLS EVPN Option C

This topology is Option C utilising BGP-LU. IS-IS in the underlay and OSPF between the 2 CE Cisco devices. Can use other devices as CE’s if you prefer.

https://www.juniper.net/documentation/en_US/release-independent/nce/topics/example/mpls-vpn-option3-configuration.html

PE1

set interfaces ge-0/0/0 flexible-vlan-tagging
set interfaces ge-0/0/0 encapsulation flexible-ethernet-services
set interfaces ge-0/0/0 unit 674 encapsulation vlan-bridge
set interfaces ge-0/0/0 unit 674 vlan-id 674
set interfaces ge-0/0/0 unit 674 family bridge
set interfaces ge-0/0/2 unit 0 family inet address 1.1.1.1/30
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/2 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.0000.5555.5555.5555.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 5.5.5.5
set routing-options autonomous-system 65200
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 5.5.5.5
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int export nhs
set protocols bgp group int neighbor 6.6.6.6
set protocols bgp group int neighbor 33.33.33.33 local-address 5.5.5.5
set protocols bgp group int neighbor 33.33.33.33 family inet labeled-unicast resolve-vpn
set protocols bgp group external type external
set protocols bgp group external multihop
set protocols bgp group external local-address 5.5.5.5
set protocols bgp group external family evpn signaling
set protocols bgp group external peer-as 65400
set protocols bgp group external neighbor 8.8.8.8
set protocols isis interface ge-0/0/2.0
set protocols isis interface lo0.0
set protocols ldp interface all
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-instances cust1 instance-type evpn
set routing-instances cust1 vlan-id 674
set routing-instances cust1 interface ge-0/0/0.674
set routing-instances cust1 route-distinguisher 5.5.5.5:1
set routing-instances cust1 vrf-target target:65200:1
set routing-instances cust1 protocols evpn interface ge-0/0/0.674

P1

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 lo0 unit 0 family inet address 6.6.6.6/32
set interfaces lo0 unit 0 family iso address 49.0000.6666.6666.6666.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 6.6.6.6
set routing-options autonomous-system 65200
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 6.6.6.6
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int export nhs
set protocols bgp group int cluster 6.6.6.6
set protocols bgp group int neighbor 5.5.5.5
set protocols bgp group int neighbor 33.33.33.33
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface lo0.0
set protocols ldp interface all
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self

ASBR1

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 lo0 unit 0 family inet address 33.33.33.33/32
set interfaces lo0 unit 0 family iso address 49.0000.3333.3333.0000.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 33.33.33.33
set routing-options autonomous-system 65200
set protocols mpls traffic-engineering mpls-forwarding
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 33.33.33.33
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int neighbor 6.6.6.6
set protocols bgp group int neighbor 5.5.5.5 local-address 33.33.33.33
set protocols bgp group int neighbor 5.5.5.5 family inet labeled-unicast
set protocols bgp group int neighbor 5.5.5.5 export nhs
set protocols bgp group external type external
set protocols bgp group external family inet labeled-unicast
set protocols bgp group external export PE1_LOOPBACK
set protocols bgp group external peer-as 65400
set protocols bgp group external neighbor 3.3.3.2
set protocols isis interface ge-0/0/0.0
set protocols isis interface lo0.0
set protocols ldp interface all
set policy-options policy-statement PE1_LOOPBACK term 1 from route-filter 5.5.5.5/32 exact
set policy-options policy-statement PE1_LOOPBACK term 1 then accept
set policy-options policy-statement PE1_LOOPBACK term 2 from route-filter 6.6.6.6/32 exact
set policy-options policy-statement PE1_LOOPBACK then accept
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self

ASBR2

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 lo0 unit 0 family inet address 7.7.7.7/32
set interfaces lo0 unit 0 family iso address 49.0000.7777.7777.7777.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 7.7.7.7
set routing-options autonomous-system 65400
set protocols mpls traffic-engineering mpls-forwarding
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 7.7.7.7
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int neighbor 9.9.9.9
set protocols bgp group int neighbor 8.8.8.8 local-address 7.7.7.7
set protocols bgp group int neighbor 8.8.8.8 family inet labeled-unicast
set protocols bgp group int neighbor 8.8.8.8 export nhs
set protocols bgp group external type external
set protocols bgp group external family inet labeled-unicast
set protocols bgp group external export PE2_LOOPBACK
set protocols bgp group external peer-as 65200
set protocols bgp group external neighbor 3.3.3.1
set protocols isis interface ge-0/0/1.0
set protocols isis interface lo0.0
set protocols ldp interface all
set policy-options policy-statement PE2_LOOPBACK term 1 from route-filter 8.8.8.8/32 exact
set policy-options policy-statement PE2_LOOPBACK term 1 then accept
set policy-options policy-statement PE2_LOOPBACK term 2 from route-filter 9.9.9.9/32 exact
set policy-options policy-statement PE2_LOOPBACK then accept
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self

P2

set interfaces ge-0/0/0 unit 0 family inet address 4.4.4.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 5.5.5.1/30
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 9.9.9.9/32
set interfaces lo0 unit 0 family iso address 49.0000.9999.9999.0000.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 9.9.9.9
set routing-options autonomous-system 65400
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 9.9.9.9
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int export nhs
set protocols bgp group int cluster 9.9.9.9
set protocols bgp group int neighbor 7.7.7.7
set protocols bgp group int neighbor 8.8.8.8
set protocols isis interface all
set protocols ldp interface ge-0/0/0.0
set protocols ldp interface ge-0/0/1.0
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self

PE2

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 lo0 unit 0 family inet address 7.7.7.7/32
set interfaces lo0 unit 0 family iso address 49.0000.7777.7777.7777.00
set interfaces lo0 unit 0 family mpls
set routing-options router-id 7.7.7.7
set routing-options autonomous-system 65400
set protocols mpls traffic-engineering mpls-forwarding
set protocols mpls interface all
set protocols bgp group int type internal
set protocols bgp group int local-address 7.7.7.7
set protocols bgp group int family inet unicast
set protocols bgp group int family inet-vpn unicast
set protocols bgp group int family evpn signaling
set protocols bgp group int neighbor 9.9.9.9
set protocols bgp group int neighbor 8.8.8.8 local-address 7.7.7.7
set protocols bgp group int neighbor 8.8.8.8 family inet labeled-unicast
set protocols bgp group int neighbor 8.8.8.8 export nhs
set protocols bgp group external type external
set protocols bgp group external family inet labeled-unicast
set protocols bgp group external export PE2_LOOPBACK
set protocols bgp group external peer-as 65200
set protocols bgp group external neighbor 3.3.3.1
set protocols isis interface ge-0/0/1.0
set protocols isis interface lo0.0
set protocols ldp interface all
set policy-options policy-statement PE2_LOOPBACK term 1 from route-filter 8.8.8.8/32 exact
set policy-options policy-statement PE2_LOOPBACK term 1 then accept
set policy-options policy-statement PE2_LOOPBACK term 2 from route-filter 9.9.9.9/32 exact
set policy-options policy-statement PE2_LOOPBACK then accept
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self

Your CE’s will now have a layer 2 circuit between them. In this example, OSPF has been configured on them and you can see from the routing tables that an adjacency has formed and they are learning each other’s routes.

Arista L3VPN

Another L3VPN and the usual topology. IS-IS in the underlay and BGP between PE’s & CE’s.

vEOS1

hostname veos1
  
vrf instance cust1

interface Ethernet1
no switchport
vrf cust1
ip address 10.1.1.1/30

interface Ethernet2
no switchport
ip address 1.1.1.1/30
isis enable 1
  
interface Loopback0
ip address 5.5.5.5/32
isis enable 1
  
ip routing
ip routing vrf cust1
  
mpls ip

mpls ldp
router-id interface Loopback0
no shutdown

router bgp 65400
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended

address-family ipv4
neighbor 6.6.6.6 activate

address-family vpn-ipv4
neighbor 6.6.6.6 activate
neighbor default encapsulation mpls next-hop-self source-interface Loopback0

vrf cust1
rd 5.5.5.5:1
route-target import vpn-ipv4 65400:1
route-target export vpn-ipv4 65400:1
neighbor 10.1.1.2 remote-as 65500
redistribute connected

router isis 1
net 49.0000.5555.5555.5555.00

address-family ipv4 unicast

vEOS2

hostname veos2
  
interface Ethernet1
no switchport
ip address 1.1.1.2/30
isis enable 1

interface Ethernet2
no switchport
ip address 2.2.2.1/30
isis enable 1

interface Loopback0
ip address 6.6.6.6/32
isis enable 1
  
ip routing

mpls ip

mpls ldp
router-id interface Loopback0
no shutdown

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 route-reflector-client
neighbor 5.5.5.5 send-community extended
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source Loopback0
neighbor 7.7.7.7 send-community extended

address-family ipv4
neighbor 5.5.5.5 activate
neighbor 7.7.7.7 activate

address-family vpn-ipv4
neighbor 5.5.5.5 activate
neighbor 7.7.7.7 activate
neighbor default encapsulation mpls next-hop-self source-interface Loopback0

router isis 1
net 49.0000.6666.6666.6666.00

address-family ipv4 unicast

vEOS3

hostname veos3
  
interface Ethernet1
no switchport
ip address 2.2.2.2/30
isis enable 1

interface Ethernet2
no switchport
ip address 3.3.3.1/30
isis enable 1

interface Loopback0
ip address 7.7.7.7/32
isis enable 1
  
ip routing

mpls ip

mpls ldp
router-id interface Loopback0
no shutdown

router bgp 65400
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 route-reflector-client
neighbor 6.6.6.6 send-community extended
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source Loopback0
neighbor 8.8.8.8 route-reflector-client
neighbor 8.8.8.8 send-community extended

address-family ipv4
neighbor 6.6.6.6 activate
neighbor 8.8.8.8 activate

address-family vpn-ipv4
neighbor 6.6.6.6 activate
neighbor 8.8.8.8 activate
neighbor default encapsulation mpls next-hop-self source-interface Loopback0

router isis 1
net 49.0000.7777.7777.7777.00

address-family ipv4 unicast

vEOS4

hostname veos4
  
interface Ethernet1
no switchport
ip address 3.3.3.2/30
isis enable 1
  
interface Ethernet2
no switchport
ip address 4.4.4.1/30
isis enable 1

interface Loopback0
ip address 8.8.8.8/32
isis enable 1
  
ip routing

mpls ip

mpls ldp
router-id interface Loopback0
no shutdown

router bgp 65400
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source Loopback0
neighbor 7.7.7.7 send-community extended
neighbor 9.9.9.9 remote-as 65400
neighbor 9.9.9.9 update-source Loopback0
neighbor 9.9.9.9 route-reflector-client
neighbor 9.9.9.9 send-community extended
  
address-family ipv4
neighbor 7.7.7.7 activate
neighbor 9.9.9.9 activate

address-family vpn-ipv4
neighbor 7.7.7.7 activate
neighbor 9.9.9.9 activate
neighbor default encapsulation mpls next-hop-self source-interface Loopback0

router isis 1
net 49.0000.8888.8888.8888.00

address-family ipv4 unicast

vEOS5

hostname veos5
  
vrf instance cust1

interface Ethernet1
no switchport
vrf cust1
ip address 10.10.10.1/30

interface Ethernet2
no switchport
ip address 4.4.4.2/30
isis enable 1

interface Loopback0
ip address 9.9.9.9/32
isis enable 1

ip routing
ip routing vrf cust1
  
mpls ip

mpls ldp
router-id interface Loopback0
no shutdown

router bgp 65400
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source Loopback0
neighbor 8.8.8.8 send-community extended

address-family ipv4
neighbor 8.8.8.8 activate

address-family vpn-ipv4
neighbor 8.8.8.8 activate
neighbor default encapsulation mpls next-hop-self source-interface Loopback0

vrf cust1
rd 9.9.9.9:1
route-target import vpn-ipv4 65400:1
route-target export vpn-ipv4 65400:1
neighbor 10.10.10.2 remote-as 65500
redistribute connected

router isis 1
net 49.0000.9999.9999.9999.00
!
address-family ipv4 unicast

Cisco vIOS routers used as the CE’s. It doesn’t appear that Arista has the ‘as-override’ command so you will need to use ‘allowas-in’ on the CE’s otherwise routes from the opposing CE will not be imported. This is due to the AS already being in the path and is standard BGP loop protection.

Loopbacks of 11.11.11.11 (ce1) & 12.12.12.12 (ce2) have been configured on the CE’s, redistributed into BGP and visible in the opposing CE’s route table.

OcNOS – L3VPN

OcNOS is an open network operating system produced by IP Infusion. A copy of the software to use with EVE-NG or GNS3 can be downloaded from their website (click below).

This lab is a simple L3VPN. IS-IS used as the underlay and iBGP between PE1 & PE2. If not familiar with OcNOS, the CLI is very similar to Cisco IOS but with a commit so don’t forget to issue that after you have applied the commands!

PE1

conf t
hostname pe1

ip vrf cust1
rd 5.5.5.5:1
route-target both 65200:1
  
router ldp
inter-area-lsp eth1

interface lo
ip address 5.5.5.5/32 secondary
ip router isis 1
  
interface eth1
ip address 1.1.1.1/30
label-switching
ip router isis 1
enable-ldp ipv4

interface eth2
ip vrf forwarding cust1
ip address 10.1.1.1/24

router isis 1
is-type level-2-only
net 49.0000.1111.1111.1111.00

router bgp 65200
neighbor 9.9.9.9 remote-as 65200
neighbor 9.9.9.9 update-source lo

address-family ipv4 unicast
redistribute connected
neighbor 9.9.9.9 activate
exit-address-family

address-family vpnv4 unicast
neighbor 9.9.9.9 activate
exit-address-family

address-family ipv4 vrf cust1
neighbor 10.1.1.100 remote-as 65222
neighbor 10.1.1.100 activate
neighbor 10.1.1.100 as-override
exit-address-family

P1

conf t
hostname p1
  
router ldp
inter-area-lsp eth1
  
interface lo
ip address 6.6.6.6/32 secondary
ip router isis 1
  
interface eth1
ip address 1.1.1.2/30
label-switching
ip router isis 1
enable-ldp ipv4

interface eth2
ip address 2.2.2.1/30
label-switching
ip router isis 1
enable-ldp ipv4

router isis 1
is-type level-2-only
net 49.0000.2222.2222.2222.00

P2

conf t
hostname p2

router ldp

interface lo
ip address 7.7.7.7/32 secondary
ip router isis 1
  
interface eth1
ip address 2.2.2.2/30
label-switching
ip router isis 1
enable-ldp ipv4

interface eth2
ip address 3.3.3.1/30
label-switching
ip router isis 1
enable-ldp ipv4

router isis 1
is-type level-2-only
net 49.0000.7777.7777.7777.00

P3

conf t
hostname p3

router ldp
  
interface lo
ip address 8.8.8.8/32 secondary
ip router isis 1

interface eth1
ip address 3.3.3.2/30
label-switching
ip router isis 1
enable-ldp ipv4

interface eth2
ip address 4.4.4.1/30
label-switching
ip router isis 1
enable-ldp ipv4

router isis 1
is-type level-2-only
net 49.0000.8888.8888.8888.00

PE2

conf t
hostname pe2

ip vrf cust1
rd 9.9.9.9:1
route-target both 65200:1

router ldp
inter-area-lsp eth1

hostname pe2

interface lo
ip address 9.9.9.9/32 secondary
ip router isis 1

interface eth1
ip address 4.4.4.2/30
label-switching
ip router isis 1
enable-ldp ipv4

interface eth2
ip vrf forwarding cust1
ip address 10.10.10.1/24
  
router isis 1
is-type level-2-only
net 49.0000.9999.9999.9999.00

router bgp 65200
neighbor 5.5.5.5 remote-as 65200
neighbor 5.5.5.5 update-source lo

address-family ipv4 unicast
redistribute connected
neighbor 5.5.5.5 activate
exit-address-family

address-family vpnv4 unicast
neighbor 5.5.5.5 activate
exit-address-family

address-family ipv4 vrf cust1
neighbor 10.10.10.100 remote-as 65222
neighbor 10.10.10.100 activate
neighbor 10.10.10.100 as-override
exit-address-family

BGP is configured between the CE (Cisco vIOS) & PE devices and loopbacks have been configured on the CE’s with addresses of 22.22.22.22 & 33.33.33.33 respectively. These are being redistributed into BGP and you should now see the opposing loopback in the route table.

Juniper vJunosEvolved – L3VPN

An example Juniper L3VPN configuration example. IS-IS underlay and BGP between PE’s & CE’s.

https://www.juniper.net/documentation/us/en/software/junos/vpn-l3/topics/example/mpls-qfx-series-vpn-layer3.html

vEVO1

set interfaces et-0/0/0 unit 0 family inet address 1.1.1.1/30
set interfaces et-0/0/0 unit 0 family iso
set interfaces et-0/0/0 unit 0 family mpls
set interfaces et-0/0/1 unit 0 family inet address 6.6.6.2/30
set interfaces et-0/0/1 unit 0 family iso
set interfaces et-0/0/1 unit 0 family mpls
set interfaces et-0/0/2 unit 0 family inet address 10.1.1.1/24
set interfaces lo0 unit 0 family inet address 5.5.5.5/32
set interfaces lo0 unit 0 family iso address 49.0000.5555.5555.5555.00
set interfaces lo0 unit 0 family mpls
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-instances cust1 instance-type vrf
set routing-instances cust1 protocols bgp group cust1 type external
set routing-instances cust1 protocols bgp group cust1 as-override
set routing-instances cust1 protocols bgp group cust1 neighbor 10.1.1.254 peer-as 65444
set routing-instances cust1 interface et-0/0/2.0
set routing-instances cust1 route-distinguisher 5.5.5.5:1
set routing-instances cust1 vrf-target target:65400:1
set routing-instances cust1 vrf-table-label
set routing-options router-id 5.5.5.5
set routing-options autonomous-system 65400
set protocols bgp group overlay type internal
set protocols bgp group overlay local-address 5.5.5.5
set protocols bgp group overlay family inet unicast
set protocols bgp group overlay family inet-vpn unicast
set protocols bgp group overlay export nhs
set protocols bgp group overlay neighbor 6.6.6.6
set protocols bgp group overlay neighbor 8.8.8.8
set protocols isis interface all
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols ldp interface all
set protocols mpls interface all

vEVO2

set interfaces et-0/0/0 unit 0 family inet address 6.6.6.1/30
set interfaces et-0/0/0 unit 0 family iso
set interfaces et-0/0/0 unit 0 family mpls
set interfaces et-0/0/1 unit 0 family inet address 2.2.2.1/30
set interfaces et-0/0/1 unit 0 family iso
set interfaces et-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 6.6.6.6/32
set interfaces lo0 unit 0 family iso address 49.0000.6666.6666.6666.00
set interfaces lo0 unit 0 family mpls
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-options router-id 6.6.6.6
set routing-options autonomous-system 65400
set protocols bgp group overlay type internal
set protocols bgp group overlay local-address 6.6.6.6
set protocols bgp group overlay family inet unicast
set protocols bgp group overlay family inet-vpn unicast
set protocols bgp group overlay export nhs
set protocols bgp group overlay cluster 6.6.6.6
set protocols bgp group overlay neighbor 5.5.5.5
set protocols bgp group overlay neighbor 9.9.9.9
set protocols isis interface all
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols ldp interface all
set protocols mpls interface all

vEVO3

set interfaces et-0/0/0 unit 0 family inet address 1.1.1.2/30
set interfaces et-0/0/0 unit 0 family iso
set interfaces et-0/0/0 unit 0 family mpls
set interfaces et-0/0/1 unit 0 family inet address 3.3.3.2/30
set interfaces et-0/0/1 unit 0 family iso
set interfaces et-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 8.8.8.8/32
set interfaces lo0 unit 0 family iso address 49.0000.8888.8888.8888.00
set interfaces lo0 unit 0 family mpls
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-options router-id 8.8.8.8
set routing-options autonomous-system 65400
set protocols bgp group overlay type internal
set protocols bgp group overlay local-address 8.8.8.8
set protocols bgp group overlay family inet unicast
set protocols bgp group overlay family inet-vpn unicast
set protocols bgp group overlay export nhs
set protocols bgp group overlay cluster 8.8.8.8
set protocols bgp group overlay neighbor 7.7.7.7
set protocols bgp group overlay neighbor 5.5.5.5
set protocols isis interface all
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols ldp interface all
set protocols mpls interface all

vEVO4

set interfaces et-0/0/0 unit 0 family inet address 3.3.3.1/30
set interfaces et-0/0/0 unit 0 family iso
set interfaces et-0/0/0 unit 0 family mpls
set interfaces et-0/0/1 unit 0 family inet address 4.4.4.2/30
set interfaces et-0/0/1 unit 0 family iso
set interfaces et-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 7.7.7.7/32
set interfaces lo0 unit 0 family iso address 49.0000.7777.7777.7777.00
set interfaces lo0 unit 0 family mpls
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-options router-id 7.7.7.7
set routing-options autonomous-system 65400
set protocols bgp group overlay type internal
set protocols bgp group overlay local-address 7.7.7.7
set protocols bgp group overlay family inet unicast
set protocols bgp group overlay family inet-vpn unicast
set protocols bgp group overlay export nhs
set protocols bgp group overlay neighbor 9.9.9.9
set protocols bgp group overlay neighbor 8.8.8.8
set protocols isis interface all
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols ldp interface all
set protocols mpls interface all

vEVO5

set interfaces et-0/0/0 unit 0 family inet address 4.4.4.1/30
set interfaces et-0/0/0 unit 0 family iso
set interfaces et-0/0/0 unit 0 family mpls
set interfaces et-0/0/1 unit 0 family inet address 2.2.2.2/30
set interfaces et-0/0/1 unit 0 family iso
set interfaces et-0/0/1 unit 0 family mpls
set interfaces et-0/0/2 unit 0 family inet address 10.10.10.1/24
set interfaces lo0 unit 0 family inet address 9.9.9.9/32
set interfaces lo0 unit 0 family iso address 49.0000.9999.9999.9999.00
set interfaces lo0 unit 0 family mpls
set policy-options policy-statement nhs term 1 from protocol bgp
set policy-options policy-statement nhs term 1 then next-hop self
set routing-instances cust1 instance-type vrf
set routing-instances cust1 protocols bgp group cust1 type external
set routing-instances cust1 protocols bgp group cust1 as-override
set routing-instances cust1 protocols bgp group cust1 neighbor 10.10.10.254 peer-as 65444
set routing-instances cust1 interface et-0/0/2.0
set routing-instances cust1 route-distinguisher 9.9.9.9:1
set routing-instances cust1 vrf-target target:65400:1
set routing-instances cust1 vrf-table-label
set routing-options router-id 9.9.9.9
set routing-options autonomous-system 65400
set protocols bgp group overlay type internal
set protocols bgp group overlay local-address 9.9.9.9
set protocols bgp group overlay family inet unicast
set protocols bgp group overlay family inet-vpn unicast
set protocols bgp group overlay export nhs
set protocols bgp group overlay neighbor 7.7.7.7
set protocols bgp group overlay neighbor 6.6.6.6
set protocols isis interface all
set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols ldp interface all
set protocols mpls interface all

BGP is configured between the CE & PE devices and loopbacks have been configured on the CE’s with addresses of 111.111.111.111 & 222.222.222.222 respectively. These are being redistributed into BGP and you should now see the opposing loopback in the route table.

Cisco IOS-XE EVPN/VPWS

Aim of this lab is to create a layer 2 circuit between switch6 & switch7 and form an OSPF adjacency. IS-IS is used for the underlay as it’s better (it really is!).

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/mp_l2_vpns/configuration/xe-3s/asr903/mp-l2-vpns-xe-3s-asr903-book/epvn_vpws_single_homed.html

CSR1

conf t
hostname csr1
mpls label protocol ldp
l2vpn evpn logging vc-state
l2vpn
router-id 5.5.5.5

interface Loopback0
ip address 5.5.5.5 255.255.255.255
ip router isis 1

interface GigabitEthernet1
ip address 1.1.1.1 255.255.255.252
ip router isis 1
mpls ip

interface GigabitEthernet2
no ip address
service instance 1 ethernet
encapsulation dot1q 1000
rewrite ingress tag pop 1 symmetric
  
router isis 1
net 49.0000.5555.5555.5555.00

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 ipv4
neighbor 6.6.6.6 activate
exit-address-family

address-family l2vpn evpn
neighbor 6.6.6.6 activate
exit-address-family

l2vpn evpn instance 1 point-to-point

vpws context cust1
service target 1 source 2
member GigabitEthernet2 service-instance 1

CSR2

conf t
hostname csr2
mpls label protocol ldp
  
interface Loopback0
ip address 6.6.6.6 255.255.255.255
ip router isis 1
  
interface GigabitEthernet1
ip address 1.1.1.2 255.255.255.252
ip router isis 1
mpls ip

interface GigabitEthernet2
ip address 2.2.2.1 255.255.255.252
ip router isis 1
mpls ip
  
router isis 1
net 49.0000.6666.6666.6666.00

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 ipv4
neighbor 5.5.5.5 activate
neighbor 7.7.7.7 activate
exit-address-family

address-family l2vpn evpn
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 route-reflector-client
neighbor 7.7.7.7 activate
exit-address-family

CSR3

conf t
hostname csr3
mpls label protocol ldp

interface Loopback0
ip address 7.7.7.7 255.255.255.255
ip router isis 1

interface GigabitEthernet1
ip address 2.2.2.2 255.255.255.252
ip router isis 1
mpls ip

interface GigabitEthernet2
ip address 3.3.3.1 255.255.255.252
ip router isis 1
mpls ip
  
router isis 1
net 49.0000.7777.7777.7777.00

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

address-family ipv4
neighbor 6.6.6.6 activate
neighbor 8.8.8.8 activate
exit-address-family

address-family l2vpn evpn
neighbor 6.6.6.6 activate
neighbor 6.6.6.6 route-reflector-client
neighbor 8.8.8.8 activate
neighbor 8.8.8.8 route-reflector-client
exit-address-family

CSR4

conf t
hostname csr4
mpls label protocol ldp
  
interface Loopback0
ip address 8.8.8.8 255.255.255.255
ip router isis 1

interface GigabitEthernet1
ip address 3.3.3.2 255.255.255.252
ip router isis 1
mpls ip
 
interface GigabitEthernet2
ip address 4.4.4.1 255.255.255.252
ip router isis 1
mpls ip
  
router isis 1
net 49.0000.8888.8888.8888.00
  
router bgp 65200
bgp log-neighbor-changes
neighbor 7.7.7.7 remote-as 65200
neighbor 7.7.7.7 update-source Loopback0
neighbor 9.9.9.9 remote-as 65200
neighbor 9.9.9.9 update-source Loopback0

address-family ipv4
neighbor 7.7.7.7 activate
neighbor 9.9.9.9 activate
exit-address-family

address-family l2vpn evpn
neighbor 7.7.7.7 activate
neighbor 9.9.9.9 activate
neighbor 9.9.9.9 route-reflector-client
exit-address-family

CSR5

conf t
hostname csr5
mpls label protocol ldp
l2vpn
router-id 9.9.9.9
  
interface Loopback0
ip address 9.9.9.9 255.255.255.255
ip router isis 1

interface GigabitEthernet1
ip address 4.4.4.2 255.255.255.252
ip router isis 1
mpls ip
  
interface GigabitEthernet2
no ip address
service instance 1 ethernet
encapsulation dot1q 1000
rewrite ingress tag pop 1 symmetric

router isis 1
net 49.0000.9999.9999.9999.00

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

address-family ipv4
neighbor 8.8.8.8 activate
exit-address-family
 
address-family l2vpn evpn
neighbor 8.8.8.8 activate
exit-address-family

mpls ldp router-id Loopback0
l2vpn evpn instance 1 point-to-point

vpws context cust1
service target 2 source 1
member GigabitEthernet2 service-instance 1

Once all devices configured, run ‘show l2vpn evpn vc id 1‘ to confirm circuit is up and then configure OSPF on your CE devices (use whatever you prefer) and the adjacency will come up.

Aruba VXLAN/EVPN

Another VXLAN/EVPN lab but this time from Aruba. Usual spine/leaf topology and OSPF used as underlay because IS-IS is not supported by the CX image.

Spine1

conf t
hostname spine1

interface 1/1/1
no shutdown
ip address 1.1.1.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 2.2.2.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
ip address 3.3.3.1/30
ip ospf 1 area 0.0.0.0

interface loopback 0
ip address 5.5.5.5/32
ip ospf 1 area 0.0.0.0

router ospf 1
router-id 5.5.5.5
area 0.0.0.0

router bgp 65400
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source loopback 0
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source loopback 0
neighbor 9.9.9.9 remote-as 65400
neighbor 9.9.9.9 update-source loopback 0
address-family l2vpn evpn
neighbor 7.7.7.7 route-reflector-client
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 activate
neighbor 8.8.8.8 route-reflector-client
neighbor 8.8.8.8 send-community extended
neighbor 8.8.8.8 activate
neighbor 9.9.9.9 route-reflector-client
neighbor 9.9.9.9 send-community extended
neighbor 9.9.9.9 activate
exit-address-family

Spine2

conf t
hostname spine2

interface 1/1/1
no shutdown
ip address 11.11.11.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 12.12.12.1/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
ip address 13.13.13.1/30
ip ospf 1 area 0.0.0.0
 
interface loopback 0
ip address 6.6.6.6/32
ip ospf 1 area 0.0.0.0

router ospf 1
router-id 6.6.6.6
area 0.0.0.0

router bgp 65400
neighbor 7.7.7.7 remote-as 65400
neighbor 7.7.7.7 update-source loopback 0
neighbor 8.8.8.8 remote-as 65400
neighbor 8.8.8.8 update-source loopback 0
neighbor 9.9.9.9 remote-as 65400
neighbor 9.9.9.9 update-source loopback 0
address-family l2vpn evpn
neighbor 7.7.7.7 route-reflector-client
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 activate
neighbor 8.8.8.8 route-reflector-client
neighbor 8.8.8.8 send-community extended
neighbor 8.8.8.8 activate
neighbor 9.9.9.9 route-reflector-client
neighbor 9.9.9.9 send-community extended
neighbor 9.9.9.9 activate
exit-address-family

Leaf1

conf t
hostname leaf1

vlan  77
evpn
vlan 77
rd 7.7.7.7:1
route-target export 65400:1
route-target import 65400:1

interface 1/1/1
no shutdown
ip address 1.1.1.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 11.11.11.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
no routing
vlan access 77

interface loopback 0
ip address 7.7.7.7/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 7.7.7.7
no shutdown
vni 77
vlan 77

router ospf 1
router-id 7.7.7.7
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

Leaf2

conf t
hostname leaf2

vlan 144
evpn
vlan 144
rd 8.8.8.8:1
route-target export 65400:2
route-target import 65400:2

interface 1/1/1
no shutdown
ip address 2.2.2.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 12.12.12.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/4
no shutdown
no routing
vlan access 144

interface loopback 0
ip address 8.8.8.8/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 8.8.8.8
no shutdown
vni 144
vlan 144

router ospf 1
router-id 8.8.8.8
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

Leaf3

hostname leaf3

vlan 77,144
evpn
vlan 77
rd 9.9.9.9:1
route-target export 65400:1
route-target import 65400:1
vlan 144
rd 9.9.9.9:2
route-target export 65400:2
route-target import 65400:2

interface 1/1/1
no shutdown
ip address 3.3.3.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/2
no shutdown
ip address 13.13.13.2/30
ip ospf 1 area 0.0.0.0

interface 1/1/3
no shutdown
no routing
vlan access 77

interface 1/1/4
no shutdown
no routing
vlan access 144

interface loopback 0
ip address 9.9.9.9/32
ip ospf 1 area 0.0.0.0

interface vxlan 1
source ip 9.9.9.9
no shutdown
vni 77
vlan 77
vni 144
vlan 144

router ospf 1
router-id 9.9.9.9
area 0.0.0.0

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source loopback 0
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source loopback 0
address-family l2vpn evpn
neighbor 5.5.5.5 send-community extended
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 send-community extended
neighbor 6.6.6.6 activate
exit-address-family

vPC6 & vPC8 are in VLAN 77. vPC7 & vPC9 are in VLAN 144. Apply IP addresses from the same subnet on each device in each VLAN and happy days!

Cisco IOS-XR – L3VPN

Topology below. Juniper vMX devices used as CE’s but you are free to use whatever you would like. BGP is used between PE’s & CE’s but you could use another protocol if you prefer. The MPLS core has an iBGP session between PE1 & PE2 but you could build BGP throughout and use Route Reflectors.

https://www.cisco.com/c/en/us/td/docs/ios_xr_sw/iosxr_r3-7/mpls/configuration/guide/gc37v3.html

PE1

hostname pe1

vrf cust1
address-family ipv4 unicast
import route-target 65400:1
export route-target 65400:1

interface Loopback0
ipv4 address 5.5.5.5 255.255.255.255
  
interface GigabitEthernet0/0/0/0
ipv4 address 1.1.1.1 255.255.255.252

interface GigabitEthernet0/0/0/1
vrf cust1
ipv4 address 10.1.1.1 255.255.255.252

route-policy ALL
pass

router isis 1
is-type level-2-only
net 49.0000.5555.5555.5555.00
address-family ipv4 unicast
interface Loopback0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast

router bgp 65400
address-family vpnv4 unicast
neighbor 9.9.9.9
remote-as 65400
update-source Loopback0
address-family vpnv4 unicast

vrf cust1
rd 5.5.5.5:1
address-family ipv4 unicast
redistribute connected

neighbor 10.1.1.2
remote-as 65500
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy ALL in
route-policy ALL out
as-override

mpls ldp
interface GigabitEthernet0/0/0/0

P1

hostname p1

interface Loopback0
ipv4 address 6.6.6.6 255.255.255.255
  
interface GigabitEthernet0/0/0/0
ipv4 address 1.1.1.2 255.255.255.252

interface GigabitEthernet0/0/0/1
ipv4 address 2.2.2.1 255.255.255.252

router isis 1
is-type level-2-only
net 49.0000.6666.6666.6666.00
interface Loopback0
address-family ipv4 unicast

interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/1
address-family ipv4 unicast
  
mpls ldp
interface GigabitEthernet0/0/0/0
interface GigabitEthernet0/0/0/1

P2

hostname p2

interface Loopback0
ipv4 address 7.7.7.7 255.255.255.255
  
interface GigabitEthernet0/0/0/0
ipv4 address 2.2.2.2 255.255.255.252

interface GigabitEthernet0/0/0/1
ipv4 address 3.3.3.1 255.255.255.252
  
router isis 1
is-type level-2-only
net 49.0000.7777.7777.7777.00
interface Loopback0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/1
address-family ipv4 unicast

mpls ldp
interface GigabitEthernet0/0/0/0
interface GigabitEthernet0/0/0/1

P3

hostname p3
  
interface Loopback0
ipv4 address 8.8.8.8 255.255.255.255
  
interface GigabitEthernet0/0/0/0
ipv4 address 3.3.3.2 255.255.255.252
    
interface GigabitEthernet0/0/0/1
ipv4 address 4.4.4.1 255.255.255.252

router isis 1
is-type level-2-only
net 49.0000.8888.8888.8888.00
interface Loopback0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/1
address-family ipv4 unicast

mpls ldp
interface GigabitEthernet0/0/0/0
interface GigabitEthernet0/0/0/1

PE2

hostname pe2

vrf cust1
address-family ipv4 unicast
import route-target 65400:1
export route-target 65400:1

interface Loopback0
ipv4 address 9.9.9.9 255.255.255.255

interface GigabitEthernet0/0/0/0
ipv4 address 4.4.4.2 255.255.255.252

interface GigabitEthernet0/0/0/1
vrf cust1
ipv4 address 10.10.10.1 255.255.255.252

route-policy ALL
pass

router isis 1
is-type level-2-only
net 49.0000.9999.9999.9999.00
interface Loopback0
address-family ipv4 unicast
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
  
router bgp 65400
address-family vpnv4 unicast
neighbor 5.5.5.5
remote-as 65400
update-source Loopback0
address-family vpnv4 unicast

vrf cust1
rd 9.9.9.9:1
address-family ipv4 unicast
redistribute connected

neighbor 10.10.10.2
remote-as 65500
update-source GigabitEthernet0/0/0/1
address-family ipv4 unicast
route-policy ALL in
route-policy ALL out
as-override

mpls ldp
interface GigabitEthernet0/0/0/0

Loopback addresses of 11.11.11.11 & 22.22.22.22 have been configured on PE1 & PE2 respectively and you can confirm connectivity through the MPLS core by pinging the loopback from the other PE.

Arista VXLAN/EVPN

Spine/leaf topology with OSPF underlay and Spines acting as Route Reflectors

https://www.arista.com/en/um-eos/eos-vxlan-configuration

EVE-NG Import file

Spine1

conf t

interface Ethernet1
no switchport
ip address 1.1.1.1/30
ip ospf area 0.0.0.0

interface Ethernet2
no switchport
ip address 2.2.2.1/30
ip ospf area 0.0.0.0
  
interface Ethernet3
no switchport
ip address 3.3.3.1/30
ip ospf area 0.0.0.0

interface Loopback0
ip address 5.5.5.5/32
ip ospf area 0.0.0.0

ip routing

router bgp 65400
neighbor SPINE peer group
neighbor SPINE remote-as 65400
neighbor SPINE update-source Loopback0
neighbor SPINE route-reflector-client
neighbor SPINE send-community extended
neighbor 7.7.7.7 peer group SPINE
neighbor 8.8.8.8 peer group SPINE
neighbor 9.9.9.9 peer group SPINE

address-family evpn
neighbor SPINE activate

router ospf 1
router-id 5.5.5.5

Spine2

conf t
interface Ethernet1
no switchport
ip address 11.11.11.1/30
ip ospf area 0.0.0.0
 
interface Ethernet2
no switchport
ip address 12.12.12.1/30
ip ospf area 0.0.0.0
  
interface Ethernet3
no switchport
ip address 13.13.13.1/30
ip ospf area 0.0.0.0

interface Loopback0
ip address 6.6.6.6/32
ip ospf area 0.0.0.0

ip routing

router bgp 65400
neighbor SPINE peer group
neighbor SPINE remote-as 65400
neighbor SPINE update-source Loopback0
neighbor SPINE route-reflector-client
neighbor SPINE send-community extended
neighbor 7.7.7.7 peer group SPINE
neighbor 8.8.8.8 peer group SPINE
neighbor 9.9.9.9 peer group SPINE

address-family evpn
neighbor SPINE activate

router ospf 1
router-id 6.6.6.6

Leaf1

conf t
vlan 1234

interface Ethernet1
no switchport
ip address 1.1.1.2/30
ip ospf area 0.0.0.0

interface Ethernet2
no switchport
ip address 11.11.11.2/30
ip ospf area 0.0.0.0
  
interface Ethernet3
switchport access vlan 1234

interface Loopback0
ip address 7.7.7.7/32
ip ospf area 0.0.0.0

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234

ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended

vlan 1234
rd 7.7.7.7:1
route-target both 65400:1
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate
    
router ospf 1
router-id 7.7.7.7

Leaf2

conf t
vlan 1234,2468

interface Ethernet1
no switchport
ip address 2.2.2.2/30
ip ospf area 0.0.0.0
    
interface Ethernet2
no switchport
ip address 12.12.12.2/30
ip ospf area 0.0.0.0
    
interface Ethernet3
switchport access vlan 1234
   
interface Ethernet4
switchport access vlan 2468
    
interface Loopback0
ip address 8.8.8.8/32
ip ospf area 0.0.0.0

interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 1234 vni 1234
vxlan vlan 2468 vni 2468
 
ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended
  
vlan 1234
rd 8.8.8.8:1
route-target both 65400:1
redistribute learned
    
vlan 2468
rd 8.8.8.8:2
route-target both 65400:2
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate

router ospf 1
router-id 8.8.8.8

Leaf3

conf t
vlan 2468
    
interface Ethernet1
no switchport
ip address 3.3.3.2/30
ip ospf area 0.0.0.0
    
interface Ethernet2
no switchport
ip address 13.13.13.2/30
ip ospf area 0.0.0.0

interface Ethernet4
switchport access vlan 2468
    
interface Loopback0
ip address 9.9.9.9/32
ip ospf area 0.0.0.0
  
interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 2468 vni 2468
   
ip routing

router bgp 65400
neighbor 5.5.5.5 remote-as 65400
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 send-community extended
neighbor 6.6.6.6 remote-as 65400
neighbor 6.6.6.6 update-source Loopback0
neighbor 6.6.6.6 send-community extended

vlan 2468
rd 8.8.8.8:2
route-target both 65400:2
redistribute learned

address-family evpn
neighbor 5.5.5.5 activate
neighbor 6.6.6.6 activate

address-family ipv4
no neighbor 5.5.5.5 activate
no neighbor 6.6.6.6 activate
    
router ospf 1
router-id 9.9.9.9

Confirm the BGP sessions have been established by running ‘show bgp evpn summary‘. Below output from leaf2.

vPC6 & vPC8 are in VLAN 1234. vPC7 & vPC9 are in VLAN 2468. Configure IP addresses from the same subnet to each vPC in each VLAN and you should have IP connectivity like below.

Extreme VOSS SPBm

SPBm is a layer 2 technology that utilises IS-IS to form adjacencies between devices and share MAC address information. More detailed information can be found in link below

https://documentation.extremenetworks.com/FABRICENGINE/SW/88/FabricEngineUserGuide/GUID-1BC71501-66E0-4458-807F-CB320C884AD4.shtml

Images are available to download from GitHub. Please use 8.10 as earlier images are control plane only. Also, please note the interfaces to not map correctly on EVE-NG ie Gig1/2 in image is actually Gig1/1, Gig1/3 is Gig1/2 etc

https://github.com/extremenetworks/Virtual_VOSS

Here we have a typical spine/leaf topology. Once all configured, vPC6 will be able to ping vPC8 and vPC7 will be able to ping vPC9. This will be achieved by using I-SIDs, which are basically service identifiers. These are assigned to VLANs and advertised by IS-IS to create a layer 2 segment between devices.

EVE-NG Import

Spine1

spbm

router isis
spbm 1
spbm 1 nick-name 1.00.84
spbm 1 b-vid 4051-4052 primary 4051
spbm 1 ip enable

vlan members remove 1 1/1-1/3
vlan create 4051 type spbm-bvlan
vlan create 4052 type spbm-bvlan

interface loopback 1
ip address 1 10.1.1.1/255.255.255.255
router isis
sys-name "spine1"
ip-source-address 10.1.1.1
is-type l1
manual-area 49.0000
exit
router isis enable
cfm spbm enable

interface GigabitEthernet 1/1
encapsulation dot1q
interface GigabitEthernet 1/2
encapsulation dot1q
interface GigabitEthernet 1/3
encapsulation dot1q

interface GigabitEthernet 1/1
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/2
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/3
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable

Spine2

spbm

router isis
spbm 1
spbm 1 nick-name 2.00.84
spbm 1 b-vid 4051-4052 primary 4051
spbm 1 ip enable

vlan members remove 1 1/1-1/3
vlan create 4051 type spbm-bvlan
vlan create 4052 type spbm-bvlan

interface loopback 1
ip address 1 10.1.1.2/255.255.255.255
router isis
sys-name "spine2"
ip-source-address 10.1.1.2
is-type l1
manual-area 49.0000
exit
router isis enable
cfm spbm enable

interface GigabitEthernet 1/1
encapsulation dot1q
interface GigabitEthernet 1/2
encapsulation dot1q
interface GigabitEthernet 1/3
encapsulation dot1q

interface GigabitEthernet 1/1
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/2
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/3
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
y
no spanning-tree mstp msti 62 force-port-state enable

Leaf3

spbm

spbm 1
spbm 1 nick-name 3.00.84
spbm 1 b-vid 4051-4052 primary 4051
spbm 1 ip enable

vlan members remove 1 1/1-1/3
vlan create 78 type port-mstprstp 0
vlan members 78 1/3 portmember
vlan i-sid 78 780001
vlan create 4051 type spbm-bvlan
vlan create 4052 type spbm-bvlan

interface loopback 1
ip address 1 10.2.1.1/255.255.255.255
router isis
sys-name "leaf3"
ip-source-address 10.2.1.1
is-type l1
manual-area 49.0000
exit
router isis enable
cfm spbm enable

interface GigabitEthernet 1/1
encapsulation dot1q
interface GigabitEthernet 1/2
encapsulation dot1q

interface GigabitEthernet 1/1
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/2
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/3
no shutdown

Leaf4

spbm

spbm 1
spbm 1 nick-name 4.00.84
spbm 1 b-vid 4051-4052 primary 4051
spbm 1 ip enable

vlan members remove 1 1/1-1/4
vlan create 24 type port-mstprstp 0
vlan members 24 1/4 portmember
vlan i-sid 24 240001
vlan create 78 type port-mstprstp 0
vlan members 78 1/3 portmember
vlan i-sid 78 780001
vlan create 4051 type spbm-bvlan
vlan create 4052 type spbm-bvlan


interface loopback 1
ip address 1 10.2.1.2/255.255.255.255
router isis
sys-name "leaf4"
ip-source-address 10.2.1.2
is-type l1
manual-area 49.0000
exit
router isis enable
cfm spbm enable

interface GigabitEthernet 1/1
encapsulation dot1q
interface GigabitEthernet 1/2
encapsulation dot1q

interface GigabitEthernet 1/1
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/2
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/3
no shutdown
interface GigabitEthernet 1/4
no shutdown

Leaf5

spbm

router isis
spbm 1
spbm 1 nick-name 5.00.84
spbm 1 b-vid 4051-4052 primary 4051
spbm 1 ip enable

vlan members remove 1 1/1-1/2,1/4
vlan create 24 type port-mstprstp 0
vlan members 24 1/4 portmember
vlan i-sid 24 240001
vlan create 4051 type spbm-bvlan
vlan create 4052 type spbm-bvlan


interface loopback 1
ip address 1 10.2.1.3/255.255.255.255
router isis
sys-name "leaf5"
ip-source-address 10.2.1.3
is-type l1
manual-area 49.0000
exit
router isis enable
cfm spbm enable

interface GigabitEthernet 1/1
encapsulation dot1q
interface GigabitEthernet 1/2
encapsulation dot1q

interface GigabitEthernet 1/1
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/2
default-vlan-id 0
no shutdown
isis
isis spbm 1
isis enable
no spanning-tree mstp  force-port-state enable
no spanning-tree mstp msti 62 force-port-state enable
interface GigabitEthernet 1/4
no shutdown

IS-IS adjacencies will now be up and the leafs advertising the respective I-SIDs. Configure IP addresses within the same subnet on the respective vPCs and you will have IP connectivity like below.

Juniper QinQ

A very simple topology for this one. 3 vMX devices, 2 Arista vEOS acting as the CE devices (you can use other devices if prefer) and 2vPC’s to confirm IP connectivity. 55 is the C-Tag, 110 the S-Tag

EVE-NG import file

vMX1

set interfaces ge-0/0/0 unit 0 family bridge interface-mode access
set interfaces ge-0/0/0 unit 0 family bridge vlan-id 110
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id 110
set bridge-domains customer1 vlan-id 110

vMX2

set interfaces ge-0/0/0 flexible-vlan-tagging
set interfaces ge-0/0/0 encapsulation flexible-ethernet-services
set interfaces ge-0/0/0 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/0 unit 0 family bridge vlan-id 110
set interfaces ge-0/0/1 flexible-vlan-tagging
set interfaces ge-0/0/1 encapsulation flexible-ethernet-services
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id 110
set bridge-domains customer1 vlan-id 110

vMX3

set interfaces ge-0/0/0 unit 0 family bridge interface-mode access
set interfaces ge-0/0/0 unit 0 family bridge vlan-id 110
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id 110
set bridge-domains customer1 vlan-id 110

Configure IP addresses from the same subnet on both of the vPC’s and they should be able to ping each other. The below image of a Wireguard capture shows the double VLAN tags when ping is sent.