Cover

mpls

1. MPLS introduction

MPLS is a protocol that allows fast tracersal of a network by labeling the data packets. MPLS stands for Multi Protocol Label Switching. MPLS switches packets, based on a label, instead of routing data. MPLS can run IP, but also other layer 2 protocols like ATM etcetera.

Rather than trying to recreate a lab from scratch, I decided to replay an MPLS lab from Socketready (http://socketready.com/2011/03/05/mpls-configuration-guide/; link is dead) with some minor adjustments. Socketready is no longer available. Therefore, you can get the configs from the appendix.

MPLS is desribed in RFC3031. There are a number of benefits, compared to traditional WAN:

  • Low cost with maximum redundancy
  • Layer3-extension over the WAN
  • The network is owned by the ISP however, it is logically an extension to your network.
  • Packets are routed through the WAN instead of circuit switched.
  • With routing comes convergence, traffic shaping (QoS and policies), and multiple routing protocols.

Some definitions:

  • LSR - Label Switching Router
  • PE - Provider Edge
  • CE - Customer Edge

MPLS operates between layer2 and layer 3; it is sometimes called layer 2.5. Packets through the MPLS network are routed through the MPLS netwok, based on a label; a packet moving across the WAN can have multiple labels. Ethernet Type is 0x8847(for MPLS unicast)
3
IP
2.5
MPLS
2
Ethernet, PPP, atm etc
1
physical layer

2. The network

2.1. Set-up

Because the original lab is no longer available, I added the router configs in the last chapters. The network is as depicted below.

topology.jpg>

Perhaps a simpler way to see the connected interfaces is:

topo_int.png>

Router
lo0
f0/0
f1/0
f2/0
f3/0
LSR1
10.168.1.1
10.10.10.1
10.10.10.9
10.10.10.13
10.10.10.17
LSR2
10.168.1.2
10.10.10.25
10.10.10.14
10.10.10.29
10.10.10.22
LSR3
10.168.1.3
10.10.10.10 10.10.10.16
10.10.10.37
10.10.10.21
LSR4
10.168.1.4
10.10.10.26
10.10.10.38
10.10.10.34
10.10.10.18
LSR5
10.168.1.5
10.10.10.2
10.10.10.5
10.160.100.1
10.168.200.1
LSR6
10.168.1.6
10.10.10.30
10.10.10.33
10.168.201.1
10.160.101.1
CE_A1
10.168.1.1
10.160.100.2
CE_A2
10.168.2.1
10.160.101.2
10.168.2.1
CE_B1
5.5.5.5
10.168.200.2
CE_B2
10.10.10.10
10.168.201.2
10.10.10.22

A verification proves that it is indeed possible to ping the neighbouring routers. OSPF will route everything through the LSR-routers, so all addresses can be pinged. Another verification is show ip route :
LSR1#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
       i - IS-IS, 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
Gateway of last resort is not set
     10.0.0.0/8 is variably subnetted, 16 subnets, 2 masks
C       10.10.10.8/30 is directly connected, FastEthernet1/0
C       10.10.10.12/30 is directly connected, FastEthernet2/0
C       10.10.10.0/30 is directly connected, FastEthernet0/0
O       10.10.10.4/30 [110/2] via 10.10.10.2, 00:27:32, FastEthernet0/0
                      [110/2] via 10.10.10.10, 00:27:32, FastEthernet1/0
O       10.10.10.24/30 [110/2] via 10.10.10.18, 00:27:32, FastEthernet3/0
                       [110/2] via 10.10.10.14, 00:27:32, FastEthernet2/0
O       10.10.10.28/30 [110/2] via 10.10.10.14, 00:27:32, FastEthernet2/0
C       10.10.10.16/30 is directly connected, FastEthernet3/0
O       10.10.10.20/30 [110/2] via 10.10.10.10, 00:27:32, FastEthernet1/0
                       [110/2] via 10.10.10.14, 00:27:32, FastEthernet2/0
O       10.10.10.32/30 [110/2] via 10.10.10.18, 00:27:32, FastEthernet3/0
O       10.10.10.36/30 [110/2] via 10.10.10.18, 00:27:46, FastEthernet3/0
                       [110/2] via 10.10.10.10, 00:27:46, FastEthernet1/0
O       10.168.1.3/32 [110/2] via 10.10.10.10, 00:27:46, FastEthernet1/0
O       10.168.1.2/32 [110/2] via 10.10.10.14, 00:27:46, FastEthernet2/0
C       10.168.1.1/32 is directly connected, Loopback0
O       10.168.1.6/32 [110/3] via 10.10.10.18, 00:27:46, FastEthernet3/0
                      [110/3] via 10.10.10.14, 00:27:46, FastEthernet2/0
O       10.168.1.5/32 [110/2] via 10.10.10.2, 00:27:46, FastEthernet0/0
O       10.168.1.4/32 [110/2] via 10.10.10.18, 00:27:46, FastEthernet3/0
LSR1#

It may be, that, when you use the configs, CEF will be enabled, but you need to start MPLS on the specific interfaces.

For LSR1, LSR2, LSR3 and LSR4, cut and paste this:
enable
config t
int f0/0
mpls ip
int f1/0
mpls ip
int f2/0
mpls ip
int f3/0
mpls ip

for LSR5 and LSR6:
enable
conf t
int f0/0
mpls ip
int f1/0
mpls ip

To verify that everything works, start a ping on LSR5 to the loopback address of LSR6 and start a capture on wireshark. To make sure everything goes over the captured wire, you might want to shut-down some routers. In the trace below, you'll see only the echo requests, not the replies. The replies took aother route through the MPLS cloud.

mpls-ping-lsr6.jpg>

So what we see here is an echo request in MPLS. MPLS puts a header in front of the packet. This header allows faster routing through the MPLS cloud.

2.2. MPLS tests

So now MPLS works. Socketready now goes on to configuring the customer VPNs. But first, some exploration of the MPLS needs to be done.

2.2.1. Where did our ping go?

Earlier, we saw that the echo request from LSR5 to LSR6 went over the link between LSR1 and LSR2, but we did not see any replies. So, the replies must follow another route. And indeed: the replies go over LSR4.

mpls-echo-reply-lsr6.jpg>

Notice, that the MPLS label is different. This is exactly what we expect.

2.2.2. Remove label at the last hop

Apparently, MPLS removes the MPLS label for the last hop.

ping_lasthop.jpg>

This is consistent behaviour, as you can see for the replies:

reply_lasthop.jpg>

Apparently, this is the result of a feature called PHP (Penultimate Hop Popping). If I understand it correctly, the last hop would be the one in LSR6 from f0/0 to the loopback interface.

If you ping between two CE routers, everything in the MPLS-cloud will have an MPLS header.

A Router configurations

A1. configs/CE_A1.cfg

hostname CE_A1
ip subnet-zero
call rsvp-sync
interface Loopback0
 ip address 10.168.1.1 255.255.255.0
interface FastEthernet0/0
 ip address 10.160.100.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet2/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet3/0
 no ip address
 shutdown
 duplex auto
 speed auto
router bgp 65111
 bgp log-neighbor-changes
 redistribute connected
 neighbor 10.160.100.1 remote-as 100
 neighbor 10.160.100.1 update-source Loopback0
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0/0
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A2. configs/CE_A2.cfg

hostname CE_A2
ip subnet-zero
call rsvp-sync
interface Loopback0
 ip address 10.168.2.1 255.255.255.0
interface FastEthernet0/0
 ip address 10.160.101.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet1/0
 ip address 10.168.100.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet2/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet3/0
 no ip address
 shutdown
 duplex auto
 speed auto
router bgp 65111
 bgp log-neighbor-changes
 redistribute connected
 neighbor 10.160.101.1 remote-as 100
 neighbor 10.160.101.1 update-source Loopback0
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A3. configs/CE_B1.cfg

hostname CE_B1
ip subnet-zero
call rsvp-sync
interface Loopback0
 ip address 10.168.22.1 255.255.255.0
interface FastEthernet0/0
 ip address 10.168.200.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet2/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet3/0
 no ip address
 shutdown
 duplex auto
 speed auto
router bgp 65222
 bgp log-neighbor-changes
 redistribute connected
 neighbor 10.168.200.1 remote-as 100
 neighbor 10.168.200.1 update-source Loopback0
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A4. configs/CE_B2.cfg

hostname CE_B2
ip subnet-zero
call rsvp-sync
interface Loopback0
 ip address 10.140.20.20 255.255.255.0
interface FastEthernet0/0
 ip address 10.168.201.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet1/0
 ip address 10.10.10.22 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet2/0
 no ip address
 shutdown
 duplex auto
 speed auto
interface FastEthernet3/0
 no ip address
 shutdown
 duplex auto
 speed auto
router bgp 65222
 bgp log-neighbor-changes
 redistribute connected
 neighbor 10.168.201.1 remote-as 100
 neighbor 10.168.201.1 update-source Loopback0
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0/0
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A5. configs/LSR1.cfg

hostname "LSR1"
ip subnet-zero
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.1 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.1 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.9 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip address 10.10.10.13 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet3/0
 ip address 10.10.10.17 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
router ospf 10
 log-adjacency-changes
 network 10.10.10.0 0.0.0.3 area 1
 network 10.10.10.8 0.0.0.3 area 1
 network 10.10.10.12 0.0.0.3 area 1
 network 10.10.10.16 0.0.0.3 area 1
 network 10.168.1.1 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.160.100.1 remote-as 100
 neighbor 10.160.100.1 update-source Loopback0
 neighbor 10.160.100.1 activate
 neighbor 10.168.1.2 remote-as 100
 neighbor 10.168.1.2 update-source Loopback0
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.3 remote-as 100
 neighbor 10.168.1.3 update-source Loopback0
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.4 remote-as 100
 neighbor 10.168.1.4 update-source Loopback0
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.5 remote-as 100
 neighbor 10.168.1.5 update-source Loopback0
 neighbor 10.168.1.5 activate
 !
 address-family vpnv4
 neighbor 10.160.100.1 activate
 neighbor 10.160.100.1 route-reflector-client
 neighbor 10.160.100.1 send-community extended
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.2 route-reflector-client
 neighbor 10.168.1.2 send-community extended
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.3 route-reflector-client
 neighbor 10.168.1.3 send-community extended
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.4 route-reflector-client
 neighbor 10.168.1.4 send-community extended
 neighbor 10.168.1.5 activate
 neighbor 10.168.1.5 route-reflector-client
 neighbor 10.168.1.5 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A6. configs/LSR2.cfg

hostname "LSR2"
ip subnet-zero
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.2 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.25 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.14 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip address 10.10.10.29 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet3/0
 ip address 10.10.10.22 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
router ospf 10
 log-adjacency-changes
 network 10.10.10.12 0.0.0.3 area 1
 network 10.10.10.20 0.0.0.3 area 1
 network 10.10.10.24 0.0.0.3 area 1
 network 10.10.10.28 0.0.0.3 area 1
 network 10.168.1.2 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.160.101.1 remote-as 100
 neighbor 10.160.101.1 update-source Loopback0
 neighbor 10.160.101.1 activate
 neighbor 10.168.1.1 remote-as 100
 neighbor 10.168.1.1 update-source Loopback0
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.3 remote-as 100
 neighbor 10.168.1.3 update-source Loopback0
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.4 remote-as 100
 neighbor 10.168.1.4 update-source Loopback0
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.6 remote-as 100
 neighbor 10.168.1.6 update-source Loopback0
 neighbor 10.168.1.6 activate
 !
 address-family vpnv4
 neighbor 10.160.101.1 activate
 neighbor 10.160.101.1 route-reflector-client
 neighbor 10.160.101.1 send-community extended
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.1 route-reflector-client
 neighbor 10.168.1.1 send-community extended
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.3 route-reflector-client
 neighbor 10.168.1.3 send-community extended
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.4 route-reflector-client
 neighbor 10.168.1.4 send-community extended
 neighbor 10.168.1.6 activate
 neighbor 10.168.1.6 route-reflector-client
 neighbor 10.168.1.6 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A7. configs/LSR3.cfg

hostname "LSR3"
ip subnet-zero
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.3 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.10 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.6 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip address 10.10.10.37 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet3/0
 ip address 10.10.10.21 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
router ospf 10
 log-adjacency-changes
 network 10.10.10.4 0.0.0.3 area 1
 network 10.10.10.8 0.0.0.3 area 1
 network 10.10.10.20 0.0.0.3 area 1
 network 10.10.10.36 0.0.0.3 area 1
 network 10.168.1.3 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.168.1.1 remote-as 100
 neighbor 10.168.1.1 update-source Loopback0
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.2 remote-as 100
 neighbor 10.168.1.2 update-source Loopback0
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.4 remote-as 100
 neighbor 10.168.1.4 update-source Loopback0
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.5 remote-as 100
 neighbor 10.168.1.5 update-source Loopback0
 neighbor 10.168.1.5 activate
 !
 address-family vpnv4
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.1 route-reflector-client
 neighbor 10.168.1.1 send-community both
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.2 route-reflector-client
 neighbor 10.168.1.2 send-community extended
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.4 route-reflector-client
 neighbor 10.168.1.4 send-community extended
 neighbor 10.168.1.5 activate
 neighbor 10.168.1.5 route-reflector-client
 neighbor 10.168.1.5 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A8. configs/LSR4.cfg

hostname "LSR4"
ip subnet-zero
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.4 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.26 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.38 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip address 10.10.10.34 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet3/0
 ip address 10.10.10.18 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
router ospf 10
 log-adjacency-changes
 network 10.10.10.16 0.0.0.3 area 1
 network 10.10.10.24 0.0.0.3 area 1
 network 10.10.10.32 0.0.0.3 area 1
 network 10.10.10.36 0.0.0.3 area 1
 network 10.168.1.4 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.160.101.1 remote-as 100
 neighbor 10.160.101.1 update-source Loopback0
 neighbor 10.160.101.1 activate
 neighbor 10.168.1.1 remote-as 100
 neighbor 10.168.1.1 update-source Loopback0
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.2 remote-as 100
 neighbor 10.168.1.2 update-source Loopback0
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.3 remote-as 100
 neighbor 10.168.1.3 update-source Loopback0
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.6 remote-as 100
 neighbor 10.168.1.6 update-source Loopback0
 neighbor 10.168.1.6 activate
 !
 address-family vpnv4
 neighbor 10.160.101.1 activate
 neighbor 10.160.101.1 route-reflector-client
 neighbor 10.160.101.1 send-community extended
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.1 route-reflector-client
 neighbor 10.168.1.1 send-community extended
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.2 route-reflector-client
 neighbor 10.168.1.2 send-community extended
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.3 route-reflector-client
 neighbor 10.168.1.3 send-community extended
 neighbor 10.168.1.6 activate
 neighbor 10.168.1.6 route-reflector-client
 neighbor 10.168.1.6 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A9. configs/LSR5.cfg

hostname LSR5
ip subnet-zero
ip vrf CustomerA1
 rd 65000:1
 route-target export 65000:1
 route-target import 65000:1
ip vrf CustomerB1
 rd 65000:2
 route-target export 65000:2
 route-target import 65000:2
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.5 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.2 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.5 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip vrf forwarding CustomerA1
 ip address 10.160.100.1 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet3/0
 ip vrf forwarding CustomerB1
 ip address 10.168.200.1 255.255.255.0
 duplex auto
 speed auto
router ospf 10
 log-adjacency-changes
 network 10.10.10.0 0.0.0.3 area 1
 network 10.10.10.4 0.0.0.3 area 1
 network 10.168.1.5 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.160.100.2 remote-as 65111
 neighbor 10.160.100.2 update-source Loopback0
 neighbor 10.160.100.2 activate
 neighbor 10.160.101.1 remote-as 100
 neighbor 10.160.101.1 update-source Loopback0
 neighbor 10.160.101.1 activate
 neighbor 10.168.1.1 remote-as 100
 neighbor 10.168.1.1 update-source Loopback0
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.3 remote-as 100
 neighbor 10.168.1.3 update-source Loopback0
 neighbor 10.168.1.3 activate
 neighbor 10.168.200.2 remote-as 65222
 neighbor 10.168.200.2 update-source Loopback0
 neighbor 10.168.200.2 activate
 neighbor 10.168.201.1 remote-as 100
 neighbor 10.168.201.1 update-source Loopback0
 neighbor 10.168.201.1 activate
 !
 address-family ipv4 vrf CustomerB1
 redistribute connected
 neighbor 10.168.200.2 remote-as 65222
 neighbor 10.168.200.2 activate
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family ipv4 vrf CustomerA1
 redistribute connected
 neighbor 10.160.100.2 remote-as 65111
 neighbor 10.160.100.2 activate
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 10.160.101.1 activate
 neighbor 10.160.101.1 send-community extended
 neighbor 10.168.1.1 activate
 neighbor 10.168.1.1 send-community extended
 neighbor 10.168.1.3 activate
 neighbor 10.168.1.3 send-community extended
 neighbor 10.168.201.1 activate
 neighbor 10.168.201.1 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

A10. configs/LSR6.cfg

hostname LSR6
ip subnet-zero
ip vrf CustomerA2
 rd 65000:1
 route-target export 65000:1
 route-target import 65000:1
ip vrf CustomerB2
 rd 2:2
 route-target export 65000:2
 route-target import 65000:2
ip cef
call rsvp-sync
interface Loopback0
 ip address 10.168.1.6 255.255.255.255
interface FastEthernet0/0
 ip address 10.10.10.30 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet1/0
 ip address 10.10.10.33 255.255.255.252
 duplex auto
 speed auto
 tag-switching ip
interface FastEthernet2/0
 ip vrf forwarding CustomerB2
 ip address 10.168.201.1 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet3/0
 ip vrf forwarding CustomerA2
 ip address 10.160.101.1 255.255.255.0
 duplex auto
 speed auto
router ospf 10
 log-adjacency-changes
 network 10.10.10.28 0.0.0.3 area 1
 network 10.10.10.32 0.0.0.3 area 1
 network 10.168.1.6 0.0.0.0 area 1
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.160.100.1 remote-as 100
 neighbor 10.160.100.1 update-source Loopback0
 neighbor 10.160.100.1 activate
 neighbor 10.160.201.2 remote-as 65111
 neighbor 10.160.201.2 update-source Loopback0
 neighbor 10.160.201.2 activate
 neighbor 10.168.1.2 remote-as 100
 neighbor 10.168.1.2 update-source Loopback0
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.4 remote-as 100
 neighbor 10.168.1.4 update-source Loopback0
 neighbor 10.168.1.4 activate
 neighbor 10.168.200.1 remote-as 100
 neighbor 10.168.200.1 update-source Loopback0
 neighbor 10.168.200.1 activate
 neighbor 10.168.201.2 remote-as 65222
 neighbor 10.168.201.2 update-source Loopback0
 neighbor 10.168.201.2 activate
 !
 address-family ipv4 vrf CustomerB2
 redistribute connected
 neighbor 10.168.201.2 remote-as 65222
 neighbor 10.168.201.2 activate
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family ipv4 vrf CustomerA2
 redistribute connected
 neighbor 10.160.101.2 remote-as 65111
 neighbor 10.160.101.2 activate
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 10.160.100.1 activate
 neighbor 10.160.100.1 send-community extended
 neighbor 10.168.1.2 activate
 neighbor 10.168.1.2 send-community extended
 neighbor 10.168.1.4 activate
 neighbor 10.168.1.4 send-community extended
 neighbor 10.168.200.1 activate
 neighbor 10.168.200.1 send-community extended
 exit-address-family
ip classless
ip http server
dial-peer cor custom
line con 0
line aux 0
line vty 0 4
 login
end

-