Home Networking How to build MPLS network with 6WIND Virtual Service Router

How to build MPLS network with 6WIND Virtual Service Router

40
0

6WIND has been a leader in the network software industry for over 2 decades and today’s network evolution is towards defining function virtualization at the service infrastructure. At 6WIND, we are constantly reinventing how tomorrow’s networks would look like.

As a start to a multiple-blog series, we will introduce in this first part, how the Virtual Service Router designed by 6WIND can leverage the requirements of a light virtual Provider Edge functionality. The aim of these writings is to introduce our readers to the virtualized routing functions that are available with the 6WIND Virtual Service Router and how it can be used to build your MPLS networks.

1. What is a MPLS network?

Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on short path labels rather than long network addresses, thus avoiding complex lookups in a routing table and speeding traffic flows. The labels identify virtual links or paths (LSP – Label Switched Path) between distant nodes rather than endpoints. MPLS can encapsulate packets of various network protocols, hence the “multiprotocol” reference on its name. MPLS, in its original designs, supports a range of access technologies, including T1/E1, ATM, Frame Relay, DSL and Ethernet.

Virtual routing and forwarding (VRF) is a technology that allows multiple instances of a routing table to co-exist within the same virtual router at the same time. One or more logical or physical interfaces may belong to a VRF and these VRFs do not share routes (unless explicit leaking is configured) therefore the packets are only forwarded between interfaces within the same VRF.

VRFs can be defined as the TCP/IP layer 3 equivalent of a VLAN. Because the routing instances are independent, the same or overlapping IP addresses can be used in a given VRF without conflicting with other instances. Network functionality is improved because network paths can be segmented without requiring multiple routers.

A Route Distinguisher (RD) separates routes (one VRF for each customer routing table) of one customer from another. RD is prepended to each route (64-bit identifier is prepended) within a VRF to identify which VPN the route belongs to. An RD is carried along with a route via MP-BGP when exchanging VPN routes with other PE routers.

Route Target is a 64-bit identifier used as part of MP-BGP attribute (extended community) to identify which route should be exported or imported to specific VPN. Whereas route distinguishers are used to maintain uniqueness among identical routes in different VRFs, route targets can be used to share routes among them. We can apply route targets to a VRF to control the import and export of routes.

2. How can 6WIND help you build your MPLS Network?

Network Virtual Functions is becoming an attraction today when designing cloudified and virtualized architectures. We will demonstrate in this blog how the 6WIND Virtual Service Router can be deployed as a light MPLS virtual Provider Edge network function. 

For the simplicity of this write-up we will showcase the MPLS Layer3 VRF functionality using Ethernet links on 6WIND’s Virtual Service Router and segregating our virtual MPLS router into two distinct L3VRFs (Cust1 and Cust2) each connecting a subset of sites as seen in the following diagram:


In this implementation, a virtual core backbone network is responsible for the transmission of data across the wide area between VRF instances at each edge location belonging to Cust1 and Cust2. This model of MPLS L3VPN has been traditionally deployed by carriers to provide a shared wide-area backbone network for multiple customers. They are also appropriate in the large enterprise, multi-tenant and shared data center environments.

In a typical virtual deployment, the virtual customer edge (vCE) routers handle local routing in a traditional fashion using static routes, IGP or eBGP and disseminate the routing information into the virtual provider edge (vPE) where the routing tables are virtualized. The vPE router then encapsulates the traffic, marks it with the RD/RT to identify the VRF instance, and transmits it across the provider backbone network to the destination vPE router. The destination vPE router then decapsulates the traffic based on the RD/RT identity and forwards it to the vCE router at the destination. The backbone network is completely transparent to the customer equipment, allowing multiple customers or user communities to use the common backbone network while maintaining end-to-end traffic separation.

The IP addressing for each customer is globally distinct except one entity that has an overlapping subnet with the other customer:

Cust1 uses subnets 10.0.0.0/24, 10.1.0.0/24 and 10.1.1.0/24 for its 3 site entities.

Cust2 uses subnets 10.0.0.0/24, 10.2.0.0/24 and 10.2.2.0/24 for its 3 site entities.

As a prerequisite and best practice for the 6WIND Virtual Router configuration, some elements should be configured on all nodes, such as, management vrf, system license and system fast path. As a reminder, The fast path is the Virtual Router component in charge of packet processing. To accelerate ethernet NICs, the latter must be dedicated to the fast path, and the fast path must be started. To note that in the GNS3 setup we simulated, the “–cpu host” option must be configured in the advanced additional settings when defining the virtual node properties.

vrf management

    interface

        physical management

            port pci-b0s3 ← Physical port mapping (show state network-ports)

            ipv4

                dhcp

            ..

                ..

            ..

        ..

    dns

        server 8.8.8.8

        ..

    ..

system

    hostname vP-RR

    fast-path

        port pci-b0s3

        port pci-b0s4

        port pci-b0s5

        port pci-b0s6

        port pci-b0s7

        ..

    license

        online

            serial <License Key>

            vrf management ← VRF that allows internet access for the licensing daemon

            ..

        ..

    ..


The following configuration is typical of a 6WIND Virtual Service Router performing label switching functionalities using the Open Shortest Path First (OSPF) as the underlying IGP with MPLS LDP enabled. For the purpose of this demo, we have enabled route-reflector (RR) capability on this virtual P Router to reduce the number of MP-BGP neighbors to be configured on each of the vPE routers. Typically, for a more complex setup, a VPNv4 RR is better to be designed in an out-of path deployment architecture:

vrf main

    routing

        mpls

            ldp

                router-id 10.10.10.10

                address-family

                    ipv4

                        discovery

                            transport-address 10.10.10.10

                            ..

                        interface Loop0

                            ..

 interface TO-vSER1

                            ..

                        interface TO-vSER2

                            ..

                        interface TO-vSER3

                            ..

                        interface TO-vSER4

                            ..

                        ..

                    ..

                ..

            ..

        ospf

            router-id 10.10.10.10

            network 10.0.0.0/8 area 0

            passive-interface Loop0

            ..

        bgp

            as 1000

            router-id 10.10.10.10

            address-family

                ipv4-vpn

                    ..

                ..

            neighbor-group RR-CLIENT

                remote-as 1000

                update-source Loop0

                address-family

                    ipv4-vpn

                            ..

                        route-reflector-client true

                        ..

                    ..

                ..

            neighbor 10.1.1.1

                neighbor-group RR-CLIENT

                ..

            neighbor 10.2.2.2

                neighbor-group RR-CLIENT

                ..

            neighbor 10.3.3.3

                neighbor-group RR-CLIENT

                ..

            neighbor 10.4.4.4

neighbor-group RR-CLIENT

                ..

            ..

        ..

    interface

        physical TO-vSER1

            port pci-b0s4

            ipv4

                address 10.0.1.10/24

                ..

            ..

        physical TO-vSER2

            port pci-b0s5

            ipv4

                address 10.0.2.10/24

                ..

            ..

        physical TO-vSER3

            port pci-b0s6

            ipv4

                address 10.0.3.10/24

                ..

            ..

        physical TO-vSER4

            port pci-b0s7

            ipv4

                address 10.0.4.10/24

                ..

            ..

        loopback Loop0

            ipv4

                address 10.10.10.10/32

                ..

            ..

        ..

    ..

The following configuration is typical of a 6WIND Virtual Service Edge Router acting as a PE router using OSPF as the underlying IGP with MPLS LDP enabled for label distribution and Multi-Protocol Border Gateway Protocol (MP-BGP) for L3VRF distribution and connectivity using the vpn-ipv4 address-family:

vrf main

    routing

mpls

            ldp

                router-id 10.1.1.1

                address-family

                    ipv4

                        discovery

                            transport-address 10.1.1.1

                            ..

                        interface Loop0

                            ..

                        interface TO-vP-RR

                            ..

                        interface TO-vSER2

                            ..

                        interface TO-vSER3

                            ..

                        ..

                    ..

                ..

            ..

        ospf

            router-id 10.1.1.1

            network 10.0.0.0/8 area 0

            passive-interface Loop0

            ..

        bgp

            as 1000

            router-id 10.1.1.1

            address-family

                ipv4-vpn

                    ..

                ..

            neighbor 10.10.10.10

                remote-as 1000

                update-source Loop0

                address-family

                    ipv4-vpn

                        ..

                    ..

                ..

            ..

        ..

    interface

        physical TO-vSER2

port pci-b0s5

            ipv4

                address 10.1.2.1/24

                ..

            ..

        physical TO-vSER3

            port pci-b0s4

            ipv4

                address 10.1.3.1/24

                ..

            ..

        physical TO-vP-RR

            port pci-b0s7

            ipv4

                address 10.0.1.1/24

                ..

            ..

        loopback Loop0

            ipv4

                address 10.1.1.1/32

                ..

            ..

        xvrf Client1

            link-interface main

            link-vrf Client1

            ..

        ..

 

        xvrf Client2

            link-interface main

            link-vrf Client2

            ..

        ..

    ..

vrf Client1

    routing

        bgp

            as 1000

            router-id 10.1.1.10

            address-family

                ipv4-unicast

                    network 10.0.0.0/24

                        ..

                    network 10.1.1.10/32

 ..

                    redistribute connected

                    l3vpn

                        export

                            vpn true

                            label auto

                            route-target 1000:1

                            route-distinguisher 1000:1

                            ..

                        import

                            vpn true

                            route-target 1000:1

                            ..

                        ..

                    ..

                ..

            ..

        ..

    interface

        physical Client1

            port pci-b0s6

            ipv4

                address 10.0.0.1/24

                ..

            ..

        loopback Loop1

            ipv4

                address 10.1.1.10/32

                ..

            ..

        xvrf main

            link-interface Client1

            link-vrf main

            ..

        ..

    ..

vrf Client2

    routing

        bgp

            as 1000

            router-id 10.1.1.20

            address-family

                ipv4-unicast

                    network 10.0.0.0/24

  ..

                    network 10.1.1.20/32

                        ..

                    redistribute connected

                    l3vpn

                        export

                            vpn true

                            label auto

                            route-target 1000:2

                            route-distinguisher 1000:2

                            ..

                        import

                            vpn true

                            route-target 1000:2

                            ..

                        ..

                    ..

                ..

            ..

        ..

    interface

        physical Client2

            port pci-b0s6

            ipv4

                address 10.0.0.1/24

                ..

            ..

        loopback Loop1

            ipv4

                address 10.1.1.20/32

                ..

            ..

        xvrf main

            link-interface Client2

            link-vrf main

            ..

        ..

    ..

Using Cross-VRF (xvrf) interfaces to perform vrf route leaking with BGP requires a specific semantic between VRs and interface names. VR naming must meet the requirements of interface naming. Actually, the Cross-VRF interface name chosen must be equal to the target VR the interface is connected to. To illustrate, in order to reach VR “main” from VR “Client1”, a Cross-VRF interface named “main” has to be created in VR “Client1”. Reversely, an Cross-VRF interface named “Client1” has to be created in VR “main”. In this way, the interface “main” and the interface “Client1” will be connected together. The naming convention is not only done to reflect the intent of the interface. It is mandatory to configure it in this way, if one wants to benefit from route leaking across VRs, using Cross-VRF interfaces, and BGP.

With the above configuration applied, VR route leaking is possible. Subsequently, if BGP peering is done between a CE and the BGP instance of each VR instance, then route importation and exportation occurs. Below output demonstrates that the routes from Client1 have been imported to the main vrf. The VR route leaks are visible with the @1< indicating that the route entry originated from VR Client1.

vSER1> show bgp vrf Client1 ipv4

BGP table version is 5, local router ID is 10.1.1.10, vrf id 2

Default local pref 100, local AS 1000

Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,

               i internal, r RIB-failure, S Stale, R Removed

Nexthop codes: @NNN nexthop’s vrf id, < announce-nh-self

Origin codes:  i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*  10.0.0.0/24      0.0.0.0                  0         32768 ?

*>                  0.0.0.0                  0         32768 i

*> 10.0.1.0/24      10.2.2.2@1<              0    100      0 ?

*  10.1.1.10/32     0.0.0.0                  0         32768 ?

*>                  0.0.0.0                  0         32768 i

*> 10.1.1.100/32    10.3.3.3@1<              0    100      0 ?

*> 10.2.2.20/32     10.2.2.2@1<              0    100      0 ?

 

Displayed  5 routes and 7 total paths


vSER2> show bgp ipv4 vpn

BGP table version is 5, local router ID is 10.2.2.2, vrf id 0

Default local pref 100, local AS 1000

Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,

               i internal, r RIB-failure, S Stale, R Removed

Nexthop codes: @NNN nexthop’s vrf id, < announce-nh-self

Origin codes:  i – IGP, e – EGP, ? – incomplete

 

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1000:1

*>i10.0.0.0/24      10.1.1.1         0    100      0 ?

*> 10.0.1.0/24      0.0.0.0@2<         0         32768 ?

                    0.0.0.0@2<         0         32768 i

*>i10.1.1.10/32     10.1.1.1         0    100      0 ?

*>i10.1.1.100/32    10.3.3.3         0    100      0 ?

*> 10.2.2.20/32     0.0.0.0@2<         0         32768 ?

 

Displayed  5 routes and 6 total paths

vSER2>

We verify that the routing tables to Client1 contain the correct routes to reach the adjacent site:

vSER1> show ipv4-routes vrf Client1

Codes: K – kernel route, C – connected, S – static, R – RIP,

       O – OSPF, I – IS-IS, B – BGP, E – EIGRP, N – NHRP,

       T – Table, v – VNC, V – VNC-Direct, A – Babel, D – SHARP,

       F – PBR, f – OpenFabric,

       > – selected route, * – FIB route, q – queued route, r – rejected route

 

VRF Client1:

C>* 10.0.0.0/24 is directly connected, Client1, 00:15:55

B>* 10.0.1.0/24 [200/0] is directly connected, main, label 82/80, 00:15:06

                        via 10.2.2.2(vrf main) (recursive), label 80, 00:15:06

  *                       via 10.1.2.2, TO-vSER2(vrf main), label implicit-null/80, 00:15:06

C>* 10.1.1.10/32 is directly connected, Loop1, 00:16:06

B>* 10.1.1.100/32 [200/0] is directly connected, main, label 81/80, 00:15:07

                          via 10.3.3.3(vrf main) (recursive), label 80, 00:15:07

  *                         via 10.1.3.3, TO-vSER3(vrf main), label implicit-null/80, 00:15:07

B>* 10.2.2.20/32 [200/0] is directly connected, main, label 82/80, 00:15:06

                         via 10.2.2.2(vrf main) (recursive), label 80, 00:15:06

  *                        via 10.1.2.2, TO-vSER2(vrf main), label implicit-null/80, 00:15:06

 

vSER2>  show ipv4-routes vrf Client1

Codes: K – kernel route, C – connected, S – static, R – RIP,

       O – OSPF, I – IS-IS, B – BGP, E – EIGRP, N – NHRP,

       T – Table, v – VNC, V – VNC-Direct, A – Babel, D – SHARP,

       F – PBR, f – OpenFabric,

> – selected route, * – FIB route, q – queued route, r – rejected route

 

VRF Client1:

B>* 10.0.0.0/24 [200/0] is directly connected, main, label 81/80, 02:02:44

                        via 10.1.1.1(vrf main) (recursive), label 80, 02:02:44

  *                       via 10.1.2.1, TO-vSER1(vrf main), label implicit-null/80, 02:02:44

C>* 10.0.1.0/24 is directly connected, Client1, 02:03:31

B>* 10.1.1.10/32 [200/0] is directly connected, main, label 81/80, 02:02:44

                         via 10.1.1.1(vrf main) (recursive), label 80, 02:02:44

  *                        via 10.1.2.1, TO-vSER1(vrf main), label implicit-null/80, 02:02:44

B>* 10.1.1.100/32 [200/0] is directly connected, main, label 83/80, 02:02:37

                          via 10.3.3.3(vrf main) (recursive), label 80, 02:02:37

  *                         via 10.0.2.10, TO-vP-RR(vrf main), label 21/80, 02:02:37

  *                         via 10.1.2.1, TO-vSER1(vrf main), label 21/80, 02:02:37

  *                         via 10.2.4.4, TO-vSER4(vrf main), label 23/80, 02:02:37

C>* 10.2.2.20/32 is directly connected, Loop2, 02:03:43

A quick look at the mpls forwarding tables and LDP bindings would show us the labels that were allocated for interfaces and prefixes:

vSER1> show mpls table

 Inbound Label  Type  Nexthop    Outbound Label

 ————————————————

 16             LDP   10.0.1.10  implicit-null

 16             LDP   10.1.2.2   implicit-null

 17             LDP   10.0.1.10  implicit-null

 17             LDP   10.1.3.3   implicit-null

 18             LDP   10.0.1.10  implicit-null

 19             LDP   10.1.2.2   implicit-null

 20             LDP   10.1.2.2   implicit-null

 21             LDP   10.1.3.3   implicit-null

 22             LDP   10.1.3.3   implicit-null

 23             LDP   10.0.1.10  23

 23             LDP   10.1.3.3   21

 23             LDP   10.1.2.2   23

 24             LDP   10.0.1.10  implicit-null

 80             BGP   Client1    –

 81             BGP   10.1.3.3   implicit-null

 82             BGP   10.1.2.2   implicit-null

 

vSER1> show mpls ldp binding

AF   Destination          Nexthop         Local Label Remote Label  In Use

ipv4 10.0.1.0/24          10.2.2.2        imp-null    19                no

ipv4 10.0.1.0/24          10.3.3.3        imp-null    16                no

ipv4 10.0.1.0/24          10.10.10.10     imp-null    imp-null          no

ipv4 10.0.2.0/24          10.2.2.2        16          imp-null         yes

ipv4 10.0.2.0/24          10.3.3.3        16          19                no

ipv4 10.0.2.0/24          10.10.10.10     16          imp-null         yes

ipv4 10.0.3.0/24          10.2.2.2        17          20                no

ipv4 10.0.3.0/24          10.3.3.3        17          imp-null         yes

ipv4 10.0.3.0/24          10.10.10.10     17          imp-null         yes

ipv4 10.0.4.0/24          10.2.2.2        18          16                no

ipv4 10.0.4.0/24          10.3.3.3        18          20                no

ipv4 10.0.4.0/24          10.10.10.10     18          imp-null         yes

ipv4 10.1.1.1/32          10.2.2.2        imp-null    21                no

ipv4 10.1.1.1/32          10.3.3.3        imp-null    17                no

ipv4 10.1.1.1/32          10.10.10.10     imp-null    16                no

ipv4 10.1.2.0/24          10.2.2.2        imp-null    imp-null          no

ipv4 10.1.2.0/24          10.3.3.3        imp-null    18                no

ipv4 10.1.2.0/24          10.10.10.10     imp-null    17                no

ipv4 10.1.3.0/24          10.2.2.2        imp-null    22                no

ipv4 10.1.3.0/24          10.3.3.3        imp-null    imp-null          no

ipv4 10.1.3.0/24          10.10.10.10     imp-null    18                no

ipv4 10.2.2.2/32          10.2.2.2        19          imp-null         yes

ipv4 10.2.2.2/32          10.3.3.3        19          21                no

ipv4 10.2.2.2/32          10.10.10.10     19          21                no

ipv4 10.2.4.0/24          10.2.2.2        20          imp-null         yes

ipv4 10.2.4.0/24          10.3.3.3        20          22                no

ipv4 10.2.4.0/24          10.10.10.10     20          22                no

ipv4 10.3.3.3/32          10.2.2.2        21          23                no

ipv4 10.3.3.3/32          10.3.3.3        21          imp-null         yes

ipv4 10.3.3.3/32          10.10.10.10     21          19                no

ipv4 10.3.4.0/24          10.2.2.2        22          17                no

ipv4 10.3.4.0/24          10.3.3.3        22          imp-null         yes

ipv4 10.3.4.0/24          10.10.10.10     22          20                no

ipv4 10.4.4.4/32          10.2.2.2        23          18               yes

ipv4 10.4.4.4/32          10.3.3.3        23          23               yes

ipv4 10.4.4.4/32          10.10.10.10     23          23               yes

ipv4 10.10.10.10/32       10.2.2.2        24          24                no

ipv4 10.10.10.10/32       10.3.3.3        24          24                no

ipv4 10.10.10.10/32       10.10.10.10     24          imp-null         yes

vSER2> show mpls table

 Inbound Label  Type  Nexthop    Outbound Label

 ————————————————

 16             LDP   10.0.2.10  implicit-null

 16             LDP   10.2.4.4   implicit-null

 17             LDP   10.2.4.4   implicit-null

 18             LDP   10.2.4.4   implicit-null

 19             LDP   10.1.2.1   implicit-null

 19             LDP   10.0.2.10  implicit-null

 20             LDP   10.0.2.10  implicit-null

 21             LDP   10.1.2.1   implicit-null

 22             LDP   10.1.2.1   implicit-null

 23             LDP   10.1.2.1   21

 23             LDP   10.0.2.10  19

 23             LDP   10.2.4.4   23

 24             LDP   10.0.2.10  implicit-null

 80             BGP   Client1    –

 81             BGP   10.0.2.10  16

 82             BGP   10.0.2.10  19

 83             BGP   10.1.2.1   implicit-null

 

vSER2> show mpls ldp binding

AF   Destination          Nexthop         Local Label Remote Label  In Use

ipv4 10.0.1.0/24          10.1.1.1        19          imp-null         yes

ipv4 10.0.1.0/24          10.4.4.4        19          19                no

ipv4 10.0.1.0/24          10.10.10.10     19          imp-null         yes

ipv4 10.0.2.0/24          10.1.1.1        imp-null    16                no

ipv4 10.0.2.0/24          10.4.4.4        imp-null    16                no

ipv4 10.0.2.0/24          10.10.10.10     imp-null    imp-null          no

ipv4 10.0.3.0/24          10.1.1.1        20          17                no

ipv4 10.0.3.0/24          10.4.4.4        20          20                no

ipv4 10.0.3.0/24          10.10.10.10     20          imp-null         yes

ipv4 10.0.4.0/24          10.1.1.1        16          18                no

ipv4 10.0.4.0/24          10.4.4.4        16          imp-null         yes

ipv4 10.0.4.0/24          10.10.10.10     16          imp-null         yes

ipv4 10.1.1.1/32          10.1.1.1        21          imp-null         yes

ipv4 10.1.1.1/32          10.4.4.4        21          21                no

ipv4 10.1.1.1/32          10.10.10.10     21          16                no

ipv4 10.1.2.0/24          10.1.1.1        imp-null    imp-null          no

ipv4 10.1.2.0/24          10.4.4.4        imp-null    17                no

ipv4 10.1.2.0/24          10.10.10.10     imp-null    17                no

ipv4 10.1.3.0/24          10.1.1.1        22          imp-null         yes

ipv4 10.1.3.0/24          10.4.4.4        22          22                no

ipv4 10.1.3.0/24          10.10.10.10     22          18                no

ipv4 10.2.2.2/32          10.1.1.1        imp-null    19                no

ipv4 10.2.2.2/32          10.4.4.4        imp-null    18                no

ipv4 10.2.2.2/32          10.10.10.10     imp-null    21                no

ipv4 10.2.4.0/24 

ipv4 10.2.4.0/24          10.4.4.4        imp-null    imp-null          no

ipv4 10.2.4.0/24          10.10.10.10     imp-null    22                no

ipv4 10.3.3.3/32          10.1.1.1        23          21               yes

ipv4 10.3.3.3/32          10.4.4.4        23          23               yes

ipv4 10.3.3.3/32          10.10.10.10     23          19               yes

ipv4 10.3.4.0/24          10.1.1.1        17          22                no

ipv4 10.3.4.0/24          10.4.4.4        17          imp-null         yes

ipv4 10.3.4.0/24          10.10.10.10     17          20                no

ipv4 10.4.4.4/32          10.1.1.1        18          23                no

ipv4 10.4.4.4/32          10.4.4.4        18          imp-null         yes

ipv4 10.4.4.4/32          10.10.10.10     18          23                no

ipv4 10.10.10.10/32       10.1.1.1        24          24                no

ipv4 10.10.10.10/32       10.4.4.4        24          24                no

ipv4 10.10.10.10/32       10.10.10.10     24          imp-null         yes
vP-RR> show mpls ldp binding

AF   Destination          Nexthop         Local Label Remote Label  In Use

ipv4 10.0.1.0/24          10.1.1.1        imp-null    imp-null          no

ipv4 10.0.1.0/24          10.2.2.2        imp-null    19                no

ipv4 10.0.1.0/24          10.3.3.3        imp-null    16                no

ipv4 10.0.1.0/24          10.4.4.4        imp-null    19                no

ipv4 10.0.2.0/24          10.1.1.1        imp-null    16                no

ipv4 10.0.2.0/24          10.2.2.2        imp-null    imp-null          no

ipv4 10.0.2.0/24          10.3.3.3        imp-null    19                no

ipv4 10.0.2.0/24          10.4.4.4        imp-null    16                no

ipv4 10.0.3.0/24          10.1.1.1        imp-null    17                no

ipv4 10.0.3.0/24          10.2.2.2        imp-null    20                no

ipv4 10.0.3.0/24          10.3.3.3        imp-null    imp-null          no

ipv4 10.0.3.0/24          10.4.4.4        imp-null    20                no

ipv4 10.0.4.0/24          10.1.1.1        imp-null    18                no

ipv4 10.0.4.0/24          10.2.2.2        imp-null    16                no

ipv4 10.0.4.0/24          10.3.3.3        imp-null    20                no

ipv4 10.0.4.0/24          10.4.4.4        imp-null    imp-null          no

ipv4 10.1.1.1/32          10.1.1.1        16          imp-null         yes

ipv4 10.1.1.1/32          10.2.2.2        16          21               yes

ipv4 10.1.1.1/32          10.3.3.3        16          17                no

ipv4 10.1.1.1/32          10.4.4.4        16          21                no

ipv4 10.1.2.0/24          10.1.1.1        17          imp-null         yes

ipv4 10.1.2.0/24          10.2.2.2        17          imp-null         yes

ipv4 10.1.2.0/24          10.3.3.3        17          18                no

ipv4 10.1.2.0/24          10.4.4.4        17          17                no

ipv4 10.1.3.0/24          10.1.1.1        18          imp-null         yes

ipv4 10.1.3.0/24          10.2.2.2        18          22               yes

ipv4 10.1.3.0/24          10.3.3.3        18          imp-null         yes

ipv4 10.1.3.0/24          10.4.4.4        18          22                no

ipv4 10.2.2.2/32          10.1.1.1        21          19                no

ipv4 10.2.2.2/32          10.2.2.2        21          imp-null         yes

ipv4 10.2.2.2/32          10.3.3.3        21          21                no

ipv4 10.2.2.2/32          10.4.4.4        21          18                no

ipv4 10.2.4.0/24          10.1.1.1        22          20                no

ipv4 10.2.4.0/24          10.2.2.2        22          imp-null         yes

ipv4 10.2.4.0/24          10.3.3.3        22          22                no

ipv4 10.2.4.0/24          10.4.4.4        22          imp-null         yes

ipv4 10.3.3.3/32          10.1.1.1        19          21                no

ipv4 10.3.3.3/32          10.2.2.2        19          23                no

ipv4 10.3.3.3/32          10.3.3.3        19          imp-null         yes

ipv4 10.3.3.3/32          10.4.4.4        19          23                no

ipv4 10.3.4.0/24          10.1.1.1        20          22                no

ipv4 10.3.4.0/24          10.2.2.2        20          17                no

ipv4 10.3.4.0/24          10.3.3.3        20          imp-null         yes

ipv4 10.3.4.0/24          10.4.4.4        20          imp-null         yes

ipv4 10.4.4.4/32          10.1.1.1        23          23                no

ipv4 10.4.4.4/32          10.2.2.2        23          18                no

ipv4 10.4.4.4/32          10.3.3.3        23          23                no

ipv4 10.4.4.4/32          10.4.4.4        23          imp-null         yes

ipv4 10.10.10.10/32       10.1.1.1        imp-null    24                no

ipv4 10.10.10.10/32       10.2.2.2        imp-null    24                no

ipv4 10.10.10.10/32       10.3.3.3        imp-null    24                no

ipv4 10.10.10.10/32       10.4.4.4        imp-null    24                no

The following configuration is typical of the virtual CE router used in our setup. The vCE-vPE routing can be a static route, OSPF or eBGP.


CE1> show config nodefault

vrf management

    interface

        physical management

            port pci-b0s3

            ipv4

                dhcp

                    ..

                ..

            ..

        ..

dns

        server 8.8.8.8

        ..

    ..

vrf main

    routing

        static

            ipv4-route 0.0.0.0/0

                next-hop 10.0.0.1

                ..

            ..

        ..

    interface

        physical MPLS1

            port pci-b0s4

            ipv4

                address 10.0.0.10/24

                ..

            ..

        ..

    ..

system

    hostname CE1

    license

        online

            serial <License Key>

            vrf management

            ..

        ..

    ..
To test the end-to-end functionality of our setup we will issue the traditional ping between the end client and capture the traffic on outgoing interfaces to check the label advertisements:


vSER2 running config# cmd traffic-capture TO-vP-RR

14:42:08.316163 0c:6c:ef:04:00:04 > 0c:6f:02:17:00:02, ethertype MPLS unicast (0x8847), length 106: MPLS (label 16, exp 0, ttl 63) (label 80, exp 0, [S], ttl 64) 10.0.1.1 > 10.0.0.10: ICMP echo reply, id 6044, seq 45, length 64

 

vSER1> cmd traffic-capture TO-vP-RR

14:43:55.661653 0c:bb:4a:bd:00:04 > 0c:6f:02:17:00:01, ethertype MPLS unicast (0x8847), length 106: MPLS (label 21, exp 0, ttl 62) (label 80, exp 0, [S], ttl 63) 10.0.0.10 > 10.0.1.1: ICMP echo request, id 6141, seq 1, length 64

14:43:55.662706 0c:6f:02:17:00:01 > 0c:bb:4a:bd:00:04, ethertype MPLS unicast (0x8847), length 106: MPLS (label 21, exp 0, ttl 62) (label 80, exp 0, [S], ttl 64) 10.0.1.1 > 10.0.0.10: ICMP echo reply, id 6141, seq 1, length 64

In the above example, we can see the label 80 assigned by BGP for the VRF Client1 and transport labels from vSER1 and vSER2 are set by LDP to 21 and 16 respectively as already listed in the show mpls table output above.

This concludes our first blog about the 6WIND Virtual Service Router capabilities to operate with MPLS L3VPN functionalities.

In the forthcoming series, we would discuss additional deployment scenarios for MPLS L3VPN and how our technology would help you to transition from traditional hardware vendor lock-in to a virtualized and open deployment model.

We would be glad to get in touch with you should you have any questions related to this post and would be more than happy to discuss further your current and future requirement: marketing@6wind.com