Skip to main content

VxLAN

VxLAN (Virtual Extensible LAN), defined in RFC 7348, is a network virtualization technology that creates logical Layer 2 networks (overlays) over existing IP infrastructure (the underlay) by encapsulating Ethernet frames in UDP packets.

This section describes VxLAN in the Control Plane tree, an overlay on a CP interface. VXLAN profiles for Data Plane user traffic configured through Library → Network Tunnels are documented under Access Plane → Network Tunnels → VXLAN.

When VxLAN is enabled, all generated traffic (TCP, UDP, HTTP, and more) is automatically encapsulated in VxLAN. Each packet receives an outer Ethernet header, an outer IP header containing the VTEP addresses, a UDP header with destination port 4789, and a VxLAN header containing the VNI. Incoming traffic is automatically decapsulated and passed to the appropriate plugin.

Limitation: VxLAN and VLAN cannot be used simultaneously on one interface. When VxLAN is enabled, VLAN in the interface settings must be 0.

Basic VxLAN Settings

FieldDescriptionDefault
Enable VxLANEnable or disable VxLAN encapsulation on this interfaceOff
VNIVxLAN Network Identifier, a 24-bit virtual-network identifier. Valid values are 1 through 16777215 (0xFFFFFF). Every packet is marked with this VNI; incoming packets with another VNI are dropped

VTEP (Virtual Tunnel Endpoint) Settings

A VTEP is a VxLAN tunnel endpoint. Peresvet ST emulates a local VTEP and sends encapsulated traffic to the DUT's remote VTEP.

FieldDescriptionDefault
Local VTEP IPIP address, or first address in a range, of the local VTEP. Used as the source IP in the outer IP header of VxLAN packets
Local VTEP countNumber of local VTEP addresses in the range. Addresses are assigned sequentially, one to each processing queue (CPU core). For example, a value of 4 and base address 10.0.0.1 use addresses 10.0.0.110.0.0.41
Remote VTEP IPIP address, or first address in a range, of the DUT's remote VTEP. Used as the destination IP in the outer IP header
Remote VTEP countNumber of remote VTEP addresses in the range. With 1, every queue sends traffic to one remote VTEP. When equal to the queue count, each queue uses its own remote VTEP1

Inner Ethernet Headers (Inner L2)

These parameters define the inner, original Ethernet frame encapsulated in the VxLAN packet.

FieldDescriptionDefault
Inner Source MACSource MAC address in the inner Ethernet header. Emulates the MAC address of a VM or host behind the local VTEP
Inner Destination MACDestination MAC address in the inner Ethernet header. Emulates the MAC address of a VM or host behind the remote VTEP

VxLAN Packet Structure

When VxLAN is enabled, every generated packet has the following structure:

┌──────────────────────────────────────────────────┐
│ Outer Ethernet Header (14 bytes) │ ← Interface MAC → Gateway MAC
├──────────────────────────────────────────────────┤
│ Outer IP Header (20 bytes) │ ← Local VTEP IP → Remote VTEP IP
├──────────────────────────────────────────────────┤
│ Outer UDP Header (8 bytes) │ ← Source port (entropy) → Dest port: 4789
├──────────────────────────────────────────────────┤
│ VxLAN Header (8 bytes) │ ← Flags + VNI
├──────────────────────────────────────────────────┤
│ Inner Ethernet Header (14 bytes) │ ← Inner Source MAC → Inner Dest MAC
├──────────────────────────────────────────────────┤
│ Inner IP / TCP / UDP / HTTP / ... │ ← Plugin payload
└──────────────────────────────────────────────────┘

Note: VxLAN encapsulation adds 50 bytes of protocol headers to every packet. Account for this when setting the MTU in the underlay network. A typical VxLAN underlay MTU is 1550, or 9000 when using jumbo frames. The outer UDP source port is generated automatically from the inner-flow parameters to distribute traffic evenly across ECMP paths in the underlay.