Interoperability between IP Infusion OcNOS and Cisco IOS XE

Interoperability between IP Infusion OcNOS and Cisco

In the ever-evolving landscape of networking technologies, the demand for flexibility, scalability, and cost-efficiency has driven the rise of disaggregated solutions. Network operators are increasingly embracing the disaggregated approach to leverage the advantages it offers. However, in order to seamlessly integrate disaggregated solutions with existing network infrastructures, interoperability becomes a paramount consideration. This is particularly crucial for ISPs and mobile operators heavily reliant on MPLS (Multiprotocol Label Switching) at both L3VPN and L2VPN levels. In this lab, we explore the interoperability between IP Infusion OcNOS and Cisco IOS XE used on many Cisco devices such as the ASR 900 series and ASR 1000 widely deployed in service provider networks.

Most mobile operators and internet service providers use MPLS in their core, aggregation and access networks with a mix of L3VPN and L2VPN to deliver a wide range of connectivity services to their customers, such as site-to-site connectivity, virtual private LAN services, and more. Hence, ensuring interoperability between disaggregated solutions like IP Infusion OcNOS and established platforms like Cisco becomes imperative for seamless service delivery, network scalability, and efficient resource allocation. With proven interoperability between disaggregated solutions and traditional solutions, service providers can leverage the strengths of both traditional and disaggregated solutions. They can maintain their existing Cisco-based MPLS infrastructure, benefitting from the reliability and extensive feature set. At the same time, they can introduce disaggregated solutions based on IP Infusion OcNOS to unlock cost efficiencies, customization options, and the ability to select best-of-breed hardware platforms. This interoperability empowers service providers to gradually migrate and evolve their networks, leveraging the advantages of disaggregated solutions without disrupting their established services or compromising on performance.

In this lab we explore the interoperability between OcNOS and IOS XE in a network based on OSPF, LDP, MP-BGP, L3VPN and L2VPN.

We are going to use the same topology and IP address configuration as our previous article: Configuring MPLS L3VPN on OcNOS but we will replace two OcNOS routers with the Cisco CSR1000v.

We start by configuring our interfaces.

Then we configure OSPF as our IGP and advertise our networks.

We covered OSPF configuration on OcNOS in the previous article, we also discussed it briefly in our Beginner’s Guide to OcNOS OSPF Routing article.

OSPF Configuration on Cisco-1:

Cisco-1(config)#router ospf 1
Cisco-1(config-router)#network 10.10.12.0 0.0.0.255 area 0
Cisco-1(config-router)#network 10.10.10.0 0.0.0.255 area 0
Cisco-1(config-router)#network 2.2.2.2 0.0.0.0 area 0

OSPF Configuration on Cisco-2:

Cisco-2(config)#router ospf 1
Cisco-2(config-router)#network 10.10.11.0 0.0.0.255 area 0
Cisco-2(config-router)#network 4.4.4.4 0.0.0.0 area 0

Cisco-2 OSPF neighbors

 

Cisco-2 routing table

 

Successful ping from Cisco-2 to OcNOS-1 verifying IP reachability in the network.

 

Next, we need to configure LDP on our routers.

We already covered LDP configuration on OcNOS in our previous article.

To enable LDP on Cisco routers, the command mpls ip is used under the NNI interfaces.

LDP Configuration on Cisco-1:
Cisco-1(config)#mpls ldp router-id loopback 1
Cisco-1(config)#interface gi1
Cisco-1(config-if)#mpls ip
Cisco-1(config-if)#exit
Cisco-1(config)#interface gi2
Cisco-1(config-if)#mpls ip

LDP Configuration on Cisco-2:

Cisco-2(config)#mpls ldp router-id loopback 1
Cisco-2(config)#interface gi1
Cisco-2(config-if)#mpls ip

To verify that LDP sessions are established between the directly connected neighbors.

 On the Cisco

Cisco-1 LDP neighbors

 

On the OcNOS-1 the MPLS LDP configuration looks as follows:

!
router ldp
transport-address ipv4 1.1.1.1
!
!
interface eth1
ip address 10.10.12.2/24
label-switching
enable-ldp ipv4
!

OcNOS-1 LDP neighbors

 

On the OcNOS-2 the MPLS LDP configuration looks as follows:

!
router ldp
transport-address ipv4 3.3.3.3
!
!
interface eth1
ip address 10.10.11.1/24
label-switching
enable-ldp ipv4
!
interface eth2
ip address 10.10.10.2/24
label-switching
enable-ldp ipv4
!

OcNOS-2 has established LDP neighbor with Cisco-1 and Cisco-2

Successful mpls ping from Cisco-2 to OcNOS-1 verifying LDP configuration.

Cisco-2 MPLS forwarding table

L3VPN configuration

In our setup:

OcNOS-1 and Cisco-2 will act as the Provider Edge (PE) routers.

OcNOS-1 and Cisco-2 will act as the Provider (P) routers.

PC1 and PC2 will act as the Customer Edge (CE).

We start by creating the VRF instance station1 on both PE routers.

 

VRF Configuration on Cisco-2:
Cisco-2(config)#ip vrf station1
Cisco-2(config-vrf)#rd 4.4.4.4:4
Cisco-2(config-vrf)#route-target both 100:4

Then, we configure BGP between our PEs and activate address-family vpnv4.

 

BGP Configuration on Cisco-2:
Cisco-2(config)#router bgp 100
Cisco-2(config-router)#neighbor 1.1.1.1 remote-as 100
Cisco-2(config-router)#neighbor 1.1.1.1 update-source loopback 1
Cisco-2(config-router)#address-family vpnv4 unicast
Cisco-2(config-router-af)#neighbor 1.1.1.1 activate
Cisco-2(config-router-af)#exit-address-family
Cisco-2(config-router)#address-family ipv4 vrf station1
Cisco-2(config-router-af)#redistribute connected

We finally attach the interface gi2 on Cisco and eth2 on OcNOS to the VRF station1.

 

L3VPN AC Configuration on Cisco-2:
Cisco-2(config)#interface gi2
Cisco-2(config-if)#ip vrf forwarding station1
Cisco-2(config-if)#ip address 30.0.0.1 255.255.255.0
Cisco-2(config-if)#no shutdown

And voilà! With these steps we should have L3VPN successfully configured. But we will run few show commands to verify that things are working as expected.

show ip bgp vpnv4 all summary” command output shows us that BGP is established between the PE routers.

VRF instance “station1” routing table on the Cisco-2, we can see the route to subnet 20.0.0.0/24 learned via BGP.

We now try pinging from PC1 to PC2.

The ping from PC1 to PC2 is successful confirming that ICMP packets are being routed in the L3VPN over the MPLS network.

L2VPN configuration

An MPLS Layer 2 VPN is a virtual private network service that enables the transparent extension of Layer 2 connectivity across multiple sites or customers, facilitating the seamless transmission of data as if all locations were part of the same local network.

The are two main types of L2VPN:

●        Virtual Private Wire Service (VPWS)

●        Virtual Private LAN Service (VPLS)

Virtual Private Wire Service or VPWS is a Point-to-Point (P2P) service implementation of L2VPN. It provides layer 2 data flow to the MPLS core attaching the two customer sites.

In this article we will configure a VPWS between the two PE routers to demonstrate its interoperability between OcNOS and Cisco IOS XE. We will demonstrate this capability on a real network with a Cisco ASR920 (loopack interface IP 10.128.0.142) and a UfiSpace S9500-22XST whitebox router running IP Infusion OcNOS (loopback interface IP 10.128.0.1).

The first step is configuring targeted LDP sessions between the two PE routers.

 

On the OcNOS Router

First step is to configure the targeted LDP session to the loopback of the remote PE

OcNOS# configure terminal
OcNOS(config)# router ldp
OcNOS(config-router)# targeted-peer ipv4 10.128.0.142
OcNOS(config-router)# exit-targeted-peer-mode

Then we verify that the targeted LDP session is UP.

OcNOS# show ldp targeted-peers
IP Address          Interface
10.128.0.142        xe16
OcNOS# configure terminal
OcNOS(config)# service-template ISP_VPWS
OcNOS(config-svc)# match outer-vlan 723
OcNOS(config-svc)# end

Then, we configure the virtual circuit

OcNOS# configure terminal
OcNOS(config)# mpls l2-circuit VPWS 723 10.128.0.142

Then under the interface where the customer CE will connect, we associate the VPWS instance to the attachment circuit interface.

OcNOS# configure terminal
OcNOS(config)# interface xe8
OcNOS(config-if)# switchport
OcNOS(config-if)# mpls-l2-circuit VPWS service-template ISP_VPWS primary
OcNOS(config-if)# end

If everything is configured properly on the remote PE router, then the VPWS circuit should come up. To verify the status, we use the command below:

OcNOS#show ldp mpls-l2-circuit
Transport     Client     VC     VC            Local       Remote      Destination
VC ID         Binding    State  Type          VC Label    VC Label    Address
723           xe8        UP     Ethernet VLAN 25731       108    10.128.0.142

We can see further details, using the word “detail”

MP-DCSG-HQ101# show mpls l2-circuit detail
MPLS Layer-2 Virtual Circuit: VPWS, id: 723  PW-INDEX: 4 service-tpid: dot1.q
 Endpoint: 10.128.0.142
 Control Word: 0
 MPLS Layer-2 Virtual Circuit Group: none
 Bound to interface: xe8
 Virtual Circuit Type: Ethernet VLAN
 Virtual Circuit is configured as Primary
 Virtual Circuit is configured as Active
 Virtual Circuit is active
 Service-template : ISP_VPWS
  Match criteria : 723

Cisco ASR 920 Configuration

The Cisco IOS XE configuration of the VPWS uses Ethernet Over MPLS as the transport mechanism. Under the interface where the CE connects, we configure a service instance and configure the encapsulation type to 802.1q. Then we bind the Ethernet port interface to the attachment circuit to create a pseudowire. We used  virtual circuit (VC) 723 to uniquely identify the PW. We have to ensure that the remote PE router is configured with the same VC ID.

Cisco# configure terminal
Cisco(config)# interface GigabitEthernet0/0/7
Cisco(config-if)# no ip address
Cisco(config-if)# service instance 723 ethernet
Cisco(config-if-srv)# encapsulation dot1q 723
Cisco(config-if-srv)# xconnect 10.128.0.1 723 encapsulation mpls
Cisco(config-if-srv)# end

We verify that an LDP session is established between the two PE routers.

Cisco#show mpls ldp neighbor 10.128.0.1
    Peer LDP Ident: 10.128.0.1:0; Local LDP Ident 10.128.0.142:0
        TCP connection: 10.128.0.1.646 - 10.128.0.142.23517
        State: Oper; Msgs sent/rcvd: 25990/22977; Downstream
        Up time: 2d14h
        LDP discovery sources:
          Targeted Hello 10.128.0.142 -> 10.128.0.1, active
          TenGigabitEthernet0/0/13, Src IP addr: 10.128.2.37
        Addresses bound to peer LDP Ident:
          10.128.0.1      10.128.2.29     10.128.2.93     10.128.2.13
          10.64.80.42     10.128.2.17     10.128.30.5     10.128.2.37
          10.128.2.5      10.128.2.81     10.128.2.45     10.128.11.1 

We verify that the status of the VPWS is UP.

Cisco#show mpls l2transport vc 723
  Local intf     Local circuit              Dest address    VC ID      Status
-------------  -------------------------- --------------- ---------- ----------
Gi0/0/7        Eth VLAN 723               10.128.0.1      723        UP       

To see further details

Cisco#show mpls l2transport vc 723 detail
Local interface: Gi0/0/7 up, line protocol up, Eth VLAN 723 up
  Destination address: 10.128.0.1, VC ID: 723, VC status: up
    Output interface: Te0/0/13, imposed label stack {25731}
    Preferred path: not configured
    Default path: active
    Next hop: 10.128.2.37
  Create time: 29w6d, last status change time: 2d14h
    Last label FSM state change time: 2d14h
    Last peer autosense occurred at: 2d14h
  Signaling protocol: LDP, peer 10.128.0.1:0 up
    Targeted Hello: 10.128.0.142(LDP Id) -> 10.128.0.1, LDP is UP
    Graceful restart: not configured and not enabled
    Non stop routing: not configured and not enabled
    Status TLV support (local/remote)   : enabled/not supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: No fault
      Last BFD dataplane     status rcvd: Not sent
      Last BFD peer monitor  status rcvd: No fault
      Last local AC  circuit status rcvd: No fault
      Last local AC  circuit status sent: No fault
      Last local PW i/f circ status rcvd: No fault
      Last local LDP TLV     status sent: No fault
      Last remote LDP TLV    status rcvd: Not sent
      Last remote LDP ADJ    status rcvd: No fault
    MPLS VC labels: local 108, remote 25731
    Group ID: local 13, remote 0
    MTU: local 1500, remote 1500
    Remote interface description:
  Sequencing: receive disabled, send disabled
  Control Word: Off (configured: autosense)
  SSO Descriptor: 10.128.0.1/723, local label: 108   Dataplane:
    SSM segment/switch IDs: 25387/4139 (used), PWID: 2
  VC statistics:
    transit packet totals: receive 1705345055, send 1131454978
    transit byte totals:   receive 2084759586119, send 295612374235
    transit packet drops:  receive 0, seq error 0, send 0

 

MPLS L3VPN and L2VPN services are widely used in many service provider networks to deliver services to multiple end-customers over the same network infrastructure. This lab demonstrated the interoperability between the Cisco IOS XE widely used in service providers’ networks and the IP Infusion OcNOS which is growing in popularity in service providers’ networks due to its flexibility, its advanced features and cost-effectiveness.

In future labs and articles, we will test the interoperability of additional protocols between the OcNOS and Cisco such as Segment Routing, EVPN, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *