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
| Field | Description | Default |
|---|---|---|
| Enable VxLAN | Enable or disable VxLAN encapsulation on this interface | Off |
| VNI | VxLAN 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.
| Field | Description | Default |
|---|---|---|
| Local VTEP IP | IP 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 count | Number 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.1–10.0.0.4 | 1 |
| Remote VTEP IP | IP 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 count | Number 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 VTEP | 1 |
Inner Ethernet Headers (Inner L2)
These parameters define the inner, original Ethernet frame encapsulated in the VxLAN packet.
| Field | Description | Default |
|---|---|---|
| Inner Source MAC | Source MAC address in the inner Ethernet header. Emulates the MAC address of a VM or host behind the local VTEP | — |
| Inner Destination MAC | Destination 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, or9000when 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.