To continue our interoperability testing, in this article, we examine how well IP Infusion’s OcNOS and Cisco’s IOS XE work together, testing key protocols like ISIS, Segment Routing MPLS, MP-BGP, L3VPN, EVPN/VPWS, and EVPN/VPLS.
We’ll start by setting up the IGP, using ISIS in conjunction with Segment Routing MPLS.
interface xe46
description To cisco asr920 XE Te0/0/25
ip address 10.10.10.5/30
mtu 9200
label-switching
isis network point-to-point
isis circuit-type level-2-only
ip router isis OCNOS
no isis hello padding
!
interface lo
ip address 185.100.22.174/32 secondary
prefix-sid index 1003
ip router isis OCNOS
!
Cisco IOS XE ISIS Configuration
!
interface Loopback0
ip address 10.42.5.55 255.255.255.255
!
interface TenGigabitEthernet0/0/25
description To Ocnos xe46
mtu 9200
ip address 10.10.10.6 255.255.255.252
ip router isis OCNOS
isis network point-to-point
isis metric 100 level-1
isis metric 100 level-2
!
router isis OCNOS
net 49.0141.0100.4200.5555.00
metric-style wide
segment-routing mpls
redistribute isis ip level-2 into level-1 route-map L2_TO_L1
passive-interface Loopback0
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-2
!
As you can see, we enabled Segment Routing MPLS within the IS-IS router configuration and assigned a prefix-SID to the loopback interface.
Note that MPLS forwarding is enabled on IS-IS interfaces on the OcNOS.
The state of the ISIS adjacency can be confirmed by executing the show clns neighbors command on the OcNOS
Now let’s take a look at the active IPV4 segment routing mappings
And here we see the MPLS forwarding table on OcNOS.
We also verify the same on the Cisco. Note that the commands are slightly different but very similar.
Now let’s jump to MP-BGP configuration.
In our case we use activate 2 types of address families:
VPNV4, used to exchange routing information for IPv4 prefixes in the context of Virtual Private Networks (VPNs). VPNV4 address-family is used for L3VPN, not shown in this article but will be shown in a future article.
L2VPN EVPN, used to exchange routing and reachability information for Layer 2 services, specifically Ethernet VPNs, in the context of Virtual Private Networks (VPNs).
The control-word is enabled by default on the Cisco IOS XE and disabled by default on the OcNOS. For the service to work both sides should match. Therefore we have enabled the control-word on the OcNOS.
Note that enabling evpn mpls and the control-word requires a reboot of the router.
Cisco IOS XE EVPN-VPWS Configuration
interface GigabitEthernet0/0/1
no ip address
negotiation auto
no keepalive
service instance 1 ethernet
encapsulation default
!
!
l2vpn evpn instance 2 point-to-point
rd 10.42.5.55:65055
route-target export 65055:1
route-target import 65055:1
vpws context EVPN-VPWS
service target 1 source 2
member GigabitEthernet0/0/1 service-instance 1
!
!
The configuration above should be sufficient to get the EVPN-VPWS up and running.
To verify the service let’s try to ping between the two PCs:
PC1 IP address:168.100.1/24
PC1 MAC address: 50-7B-9D-40-43-55
PC2 IP address:168.100.2/24
PC2 MAC address: 10-7B-44-9E-BE-A7
To verify that the control-word is exchanged between the 2 devices, we mirrored the traffic on the link between the two routers and took a packet capture.
Now let’s try the EVPN-VPLS configuration
OcNOS Configuration
!
evpn mpls enable
!
mac vrf EVPN-VPLS
evpn-vlan-service vlan-based
rd 185.100.22.174:2
route-target both 65055:2
!
evpn mpls vtep-ip-global 185.100.22.174
!
evpn mpls id 3000
host-reachability-protocol evpn-bgp EVPN-VPLS
!
interface GigabitEthernet0/0/1
no ip address
negotiation auto
no keepalive
service instance 3000 ethernet
encapsulation untagged
!
!
Now let’s verify our configuration on OcNOS
Now on the Cisco IOS XE
To verify the EVPN-VPLS service, we will do a ping test between the two PCs:
PC1 IP address:168.100.1/24
PC1 MAC address: 50-7B-9D-40-43-55
PC2 IP address:168.100.2/24
PC2 MAC address: 10-7B-44-9E-BE-A7
To summarize, this lab test was pretty straightforward. ISIS, SR and BGP worked from the first try. EVPN-VPWS configuration took us a bit longer than expected since the IOS XE had the control-world enabled by default and on the OcNOS it is disabled by default. This mismatch caused traffic not to be forwarded in the tunnel. Once we enabled the control-word on the OcNOS, the traffic was forwarded between the two ends.
We hope you find this article enlightening. Feel free to leave us your comments or questions.
Continue to join us for future networking adventures!