Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

EVPN Type 5 Routing over VXLAN Tunnels

Ethernet Virtual Private Network (EVPN) with Virtual Extensible LAN (VXLAN) Type 5 routing is designed for use in data center and cloud environments to provide efficient and scalable network connectivity for virtualized workloads. It combines the benefits of EVPN and VXLAN to enable flexible and seamless communication between virtual machines (VMs) and physical devices across different IP subnets and locations. Starting with Juniper Cloud-Native Router (JCNR) Release 23.3, JCNR supports EVPN Type 5 Routing over VXLAN tunnels.

Ethernet Virtual Private Network (EVPN) technology provides a scalable and efficient way to extend Layer 2 and Layer 3 connectivity across multiple sites. EVPN uses Border Gateway Protocol (BGP) to exchange information between Provider Edge (PE) routers, allowing them to learn the location of Ethernet segments and IP prefixes. This allows for the creation of virtual networks that can span multiple sites, while providing traffic separation and isolation through the use of virtual routing and forwarding (VRF) instances. EVPN supports several encapsulation methods, including VXLAN and MPLS, which can be used to transport traffic across the service provider network.

VXLAN is a network overlay technology that allows the creation of virtual Layer 2 networks on top of an existing Layer 3 network infrastructure. It extends the reach of Layer 2 segments beyond the confines of a single physical network, which is especially useful in large-scale virtualized environments.

EVPN supports two types of routes: MAC Advertisement Route (Type 2) and IP Prefix Route (Type 5). Type 2 routes are used to exchange MAC addresses and VLANs between PE routers, while Type 5 routes are used to exchange Layer 3 network routes. In EVPN VXLAN, Type 5 routes are used to advertise IP prefixes and their associated MAC addresses. To reach a tenant using connectivity provided by the EVPN VXLAN Type 5 IP prefix route, data packets are sent as Layer 2 Ethernet frames encapsulated in the VXLAN header over the IP network across the data centers.

EVPN VXLAN Type 5 routing allows for efficient distribution of MAC and IP routing information, enabling large-scale networks with numerous virtualized workloads to operate seamlessly. The technology supports secure isolation of tenant traffic in shared environments, providing a virtual network overlay that maintains separation between tenants.

To learn more about EVPN VXLAN Type 5 routing, see Understanding EVPN Pure Type-5 Routes.

Note:

Transit router functionality should be enabled for JCNR to support EVPN VXLAN Type 5 routing. See, JCNR as a Transit Gateway.

Enabling EVPN Type 5 Routing over VXLAN Tunnels

Enable EVPN Type 5 Routing over VXLAN tunnels using custom JCNR controller configuration via the go template. Apply the custom configuration before installing JCNR, or for an existing JCNR installation, delete the cRPD pod and respawn.

Use the following sample to configure EVPN Type 5 Routing over VXLAN tunnels in JCNR using the jcnr-cni-custom-config-cm.tmpl file located in Juniper_Cloud_Native_Router_<release-number>/cRPD_examples directory.

To learn more about node annotations and custom configuration, see Customize JCNR Configuration .

To learn about EVPN Type 5 configuration in Junos, see Example: Configuring EVPN with Support for Virtual Switch.

Configuration Example and CLI Commands for EVPN Type 5 Routing over VXLAN Setup

Configuration Example and CLI Commands for EVPN Type 5 Routing over VXLAN Setup

The topology shown above describes a simple setup with two JCNRs deployed as provider edge routers PE1 and PE2. The CE1 and CE2 represent hosts behind each of the PEs. As a pre-requisite, a BGP session must exist between PE1 and PE2. Consider the following EVPN-VXLAN configuration on PE1, with the interface enp4s0 towards CE1:

A VXLAN tunnel is created between routers PE1 and PE2. The 10.10.14.0/24 network routes are locally learnt on PE1 and are advertised via EVPN Type 5 to the remote PE. Similarly, the 10.10.24.0/24 network routes are locally learnt on PE2 and advertised via EVPN Type 5 to the remote PE. All traffic between CE1 and CE2 is forwarded between PE1 and PE2 over the VXLAN tunnel.

Use the commands listed in the sections below to troubleshoot a EVPN VXLAN Type 5 routing setup.

cRPD CLI Commands

The following CLI commands can be executed on the cRPD CLI. To access the cRPD CLI, see Access cRPD CLI.

  • show bgp <summary | neighbor>: Provides a summary of the EVPN connection to the peer and the status of the connection.

    A sample output is shown below:

  • show route <summary | table | prefix>: Displays the active entries in the routing tables.

  • show evpn instance: Displays information about the EVPN routing instance.

  • show evpn l3-context: Displays the configured L3 context on the local box.

    A sample output is shown below:

  • show evpn ip-prefix-database: Provides a list of exported and imported EVPN route prefixes and the status of these routes.

    A sample output is shown below:

  • show route table <VRF>.evpn.0: Displays the route entries in the specified routing table.

    A sample output is shown below.

  • show route table <VRF>.inet.0: Displays the route entries in the specified routing table.

  • show route table bgp.evpn.0: Displays the route entries in the specified routing table.

    A sample output with a local prefix is shown below.

    A sample output with a remote prefix is shown below.

  • show krt next-hop: Displays the configured next hop.

vRouter CLI Commands

The following CLI commands can be executed on the vRouter CLI. To access the vRouter CLI, see Access vRouter CLI.

  • rt --get <prefix> --vrf <vrf-id> --family <inet4/inet6>: Provides the route which is pointing to the specified IPv4 address.

    A sample output is shown below.

  • vxlan --dump: Provides information regarding the VNIs that are configured and the next hop.

    A sample output is shown below.

  • nh --get <nh-id>: Provides the next hop details.

    A sample output is shown below.

  • vif --list: Provides a list of enterprises configured with the vif.

  • flow --l: Displays all the active flows in the system.

    Use this command to verify the traffic flowing between CE1 and CE2 on the vRouter. A sample output is shown below.

  • vifdump <vif-number>: Displays all the packet details for the specified vif.

    A sample output is shown below.