Saturday, January 14, 2017

CCIE SPv4 - MPLS L3 VPN - Static Routes as the PE-CE Routing

Software versions:
IOS XE 15.5
IOS XR 5.3

The topology for this demo:
In this post we will take a look at the Static route as the PE-CE option. It is very simple in regards to the conceptual piece, but rather intensive to get running. All the PEs and all the CEs get configured. The CEs all have a unique loopback placed into the STATIC VRF for IPv4 and IPv6. I have a simple default route configured to point to the PE for both AFIs. The PEs have host routes configured to point to the CEs and are redistributing static into BGP in the STATIC VRF. Pretty simple design overall. 

CE configuration, will vary per CE, just the addressing changes.

R13
interface Loopback213
 vrf forwarding STATIC
 ip address 192.168.213.13 255.255.255.255
 ipv6 address FC00:213::13/128
!
ip route vrf STATIC 0.0.0.0 0.0.0.0 131.0.0.1
ipv6 route vrf STATIC ::/0 2131:CC1E::1

PE configuration is similar.
R1
ip route vrf STATIC 192.168.213.13 255.255.255.255 131.0.0.13
ipv6 route vrf STATIC FC00:213::13/128 2131:CC1E::13
!
router bgp 50693
address-family ipv4 vrf STATIC
  redistribute static
 exit-address-family
 !
 address-family ipv6 vrf STATIC
  redistribute static
 exit-address-family



XR3
router static
 vrf STATIC
  address-family ipv4 unicast
   192.168.214.14/32 GigabitEthernet0/0/0/0.1001 113.0.0.14
  !
  address-family ipv6 unicast
   fc00:214::14/128 GigabitEthernet0/0/0/0.1001 2113:cc1e::14

router bgp 50693
vrf STATIC
  rd 1:50693
  address-family ipv4 unicast
   redistribute static
  !
  address-family ipv6 unicast
   redistribute static


R14
interface Loopback214
 vrf forwarding STATIC
 ip address 192.168.214.14 255.255.255.255
 ipv6 address FC00:214::14/128
!
ip route vrf STATIC 0.0.0.0 0.0.0.0 113.0.0.13
ipv6 route vrf STATIC ::/0 2113:CC1E::13



Verification:
R1#sh bgp vpnv4 unicast vrf STATIC 192.168.214.14
BGP routing table entry for 1:50693:192.168.214.14/32, version 732
Paths: (2 available, best #2, table STATIC)
  Not advertised to any peer
  Refresh Epoch 1
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.14 (192.168.1.14)
      Origin incomplete, metric 0, localpref 100, valid, internal
      Extended Community: RT:1:50693
      Originator: 192.168.1.13, Cluster list: 192.168.1.14
      mpls labels in/out nolabel/24021
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 2
  Local
    192.168.1.13 (metric 3) (via default) from 192.168.1.2 (192.168.1.2)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:50693
      Originator: 192.168.1.13, Cluster list: 192.168.1.2
      mpls labels in/out nolabel/24021
      rx pathid: 0, tx pathid: 0x0

Pretty standard view of BGP, nothing really interesting to note here.

R13#traceroute vrf STATIC 192.168.208.8 source lo213 numeric
Type escape sequence to abort.
Tracing the route to 192.168.208.8
VRF info: (vrf in name/id, vrf out name/id)
  1 131.0.0.1 3 msec 2 msec 1 msec
  2 10.1.11.11 [MPLS: Labels 24003/58 Exp 0] 11 msec 7 msec 8 msec
  3 10.11.14.14 [MPLS: Labels 24002/58 Exp 0] 27 msec 31 msec 31 msec
  4 83.0.0.3 [MPLS: Label 58 Exp 0] 16 msec 16 msec 16 msec
  5 83.0.0.8 17 msec *  8 msec

R13#traceroute vrf STATIC ipv6
Target IPv6 address: fc00:208::8
Source address: fc00:213::13
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to FC00:208::8

  1 2131:CC1E::1 17 msec *  4 msec
  2 FC00::11 [MPLS: Labels 24003/65 Exp 0] 10 msec 8 msec 25 msec
  3 2016:11:14::14 [MPLS: Labels 24002/65 Exp 0] 32 msec 34 msec 34 msec
  4 2038:CC1E::3 [MPLS: Label 65 Exp 0] 17 msec 19 msec 15 msec
  5 2038:CC1E::8 24 msec 13 msec 15 msec

As you can see, both IPv4 and IPv6 traces work. 

No comments:

Post a Comment