VXLAN
VXLAN is a network virtualization technology designed to address the need for overlay networks within virtualized data centers accommodating multiple tenants. It allows for the creation of large numbers of isolated Layer 2 virtual networks over a Layer 3 network, and encapsulates Ethernet frames in UDP datagrams. Each VXLAN is identified by a VXLAN Network Identifier (VNI), allowing up to 16 million (16777216) virtual LANs.
Broadcast, unknown unicast, and multicast (BUM) traffic are disseminated using multicast or unicast with Head-End Replication (HER) techniques.
VXLAN Tunnel Endpoints (VTEPs) terminate VXLAN tunnels, operating on port 4789 by default, following the IANA-assigned destination UDP port number. Standardized by the IETF in RFC 7348, VXLAN is integral to modern networking architectures.
Configuration
Here are the settings you can set when configuring VXLAN in your system:
destination-port
: UDP destination port number of a remote VXLAN tunnel endpoint. By default, use the IANA assigned port (4789).
group
: Multicast IP address to join for this VXLAN interface. Can not be specified with the remote parameter.
interface
: Underlying interface for this VXLAN interface. specifies the physical device to be used for tunnel endpoint communication.
local
: source IP address to use in outgoing packets.
max-source-port
: Maximum source port number to be used as UDP source ports and communicate with the remote VXLAN tunnel endpoint. Must be configured together with min-source-port.
min-source-port
: Minimum source port number to be used as UDP source ports and communicate with the remote VXLAN tunnel endpoint. Must be configured together with max-source-port.
nolearning
: Do not add unknown source link layer addresses to the VXLAN device forwarding database.
remote
: VXLAN tunnel’s remote address: Unicast destination IP address to use in outgoing packets when the destination link layer address is not known by the Forwarding Database in the VXLAN device. Can not be specified with the group parameter.
vni
: Virtual Network Identifier (0-16777216). This parameter is REQUIRED for any VXLAN interface.
Warning
Note that modifying one or more parameters after the interface has been set up will result in the interface being deleted and set up again with the updated parameters. This may result in a brief interruption of the interface’s communications. This process is essential for updating any parameters of a VXLAN interface.
VXLAN Operational Commands
Using interfaces vxlan <value> show
or interfaces vxlan show
you can check different parameters relevant for VXLAN interfaces.
Forwarding Database
The Forwarding Database (FDB) is a component used by Layer 2 devices such as bridges. It stores the MAC addresses that have been learned and the ports on which each MAC address was learned.
In OSDx, you can add new permanent entries to the FDB of bridges and VXLAN interfaces, and delete them. However, you can not modify the ones that have been learned automatically.
This feature is specially useful for VXLAN interfaces, where it might be necessary to replicate packets to several different VXLAN Tunnel Endpoints (VTEPs).
The available commands are:
interfaces vxlan <txt> fdb
: show the FDB entries of a VXLAN interface.interfaces bridge <txt> fdb
: show the FDB entries of a bridge interface.
FDB Monitoring
The operational commands interfaces vxlan <value> show fdb
and interfaces vxlan show fdb
show the FDB entries related to one or all VXLAN interfaces.
FDB Examples
For bridge interfaces, an example of adding a new entry would be:
set interfaces bridge br0 fdb entry 1 mac de:ad:be:ef:6c:10
For VXLAN interfaces, a destination can also be specified, and the mac can also be 00:00:00:00:00:00:
set interfaces vxlan vxlan0 fdb entry 1 mac 00:00:00:00:00:00 destination 192.168.1.2
Here you can find more examples of FDB management.
Examples
Here you can find different examples of these VXLAN options.
Command Summary
Configuration commands
interfaces vxlan <txt> dhcp client fallback <ipv4cidr|ipv6cidr>
interfaces vxlan <txt> dhcp client send dhcp-client-identifier
interfaces vxlan <txt> dhcp client send dhcp-client-identifier base-mac
interfaces vxlan <txt> dhcp client send dhcp-client-identifier serial-number
interfaces vxlan <txt> dhcp client send dhcp-client-identifier string <id>
interfaces vxlan <txt> dhcp client send vendor-class-identifier
interfaces vxlan <txt> dhcp client send vendor-class-identifier string <id>
interfaces vxlan <txt> fdb entry <u32> mac <txt> destination <ipv4>
interfaces vxlan <txt> ip igmp last-member-query-count <u32>
interfaces vxlan <txt> ip igmp last-member-query-interval <u32>
interfaces vxlan <txt> ip igmp query-max-response-time <u32>
interfaces vxlan <txt> ip ospf authentication encrypted-password <password>
interfaces vxlan <txt> ip ospf authentication message-digest <id>
interfaces vxlan <txt> ip ospf authentication message-digest <id> encrypted-password <password>
interfaces vxlan <txt> ip ospf authentication message-digest <id> password <txt>
interfaces vxlan <txt> ip ospf authentication password <txt>
interfaces vxlan <txt> ip rip authentication encrypted-password <password>
interfaces vxlan <txt> ip rip authentication message-digest <u32>
interfaces vxlan <txt> ip rip authentication message-digest <u32> encrypted-password <password>
interfaces vxlan <txt> ip rip authentication message-digest <u32> password <txt>
interfaces vxlan <txt> ipv6 ospfv3 authentication hmac-sha-256 <u32>
interfaces vxlan <txt> ipv6 ospfv3 authentication hmac-sha-256 <u32> encrypted-password <password>
interfaces vxlan <txt> ipv6 ospfv3 authentication hmac-sha-256 <u32> password <txt>
interfaces vxlan <txt> ipv6 ospfv3 authentication md5 <u32> encrypted-password <password>
interfaces vxlan <txt> ipv6 ospfv3 authentication md5 <u32> password <txt>
interfaces vxlan <txt> ipv6 ospfv3 retransmit-interval <u32>
interfaces vxlan <txt> ipv6 ripng split-horizon poison-reverse
interfaces vxlan <txt> ipv6 router-advert cur-hop-limit <u32>
interfaces vxlan <txt> ipv6 router-advert default-lifetime <u32>
interfaces vxlan <txt> ipv6 router-advert default-preference <txt>
interfaces vxlan <txt> ipv6 router-advert managed-flag <txt>
interfaces vxlan <txt> ipv6 router-advert name-server <ipv6>
interfaces vxlan <txt> ipv6 router-advert other-config-flag <txt>
interfaces vxlan <txt> ipv6 router-advert prefix <ipv6net> autonomous-flag <txt>
interfaces vxlan <txt> ipv6 router-advert prefix <ipv6net> on-link-flag <txt>
interfaces vxlan <txt> ipv6 router-advert prefix <ipv6net> preferred-lifetime <u32|id>
interfaces vxlan <txt> ipv6 router-advert prefix <ipv6net> valid-lifetime <u32|id>
interfaces vxlan <txt> ipv6 router-advert reachable-time <u32>
interfaces vxlan <txt> ipv6 router-advert retrans-timer <u32>
interfaces vxlan <txt> traffic nat destination rule <u32> address <ipv4|ipv4net|ipv4range|id>
interfaces vxlan <txt> traffic nat destination rule <u32> description <txt>
interfaces vxlan <txt> traffic nat destination rule <u32> log
interfaces vxlan <txt> traffic nat destination rule <u32> log level <txt>
interfaces vxlan <txt> traffic nat destination rule <u32> log prefix <txt>
interfaces vxlan <txt> traffic nat destination rule <u32> network <ipv4net>
interfaces vxlan <txt> traffic nat destination rule <u32> port <u32|id>
interfaces vxlan <txt> traffic nat destination rule <u32> protocol <txt>
interfaces vxlan <txt> traffic nat destination rule <u32> selector <txt>
interfaces vxlan <txt> traffic nat source rule <u32> address <ipv4|ipv4net|ipv4range|id>
interfaces vxlan <txt> traffic nat source rule <u32> description <txt>
interfaces vxlan <txt> traffic nat source rule <u32> log level <txt>
interfaces vxlan <txt> traffic nat source rule <u32> log prefix <txt>
interfaces vxlan <txt> traffic nat source rule <u32> network <ipv4net>
interfaces vxlan <txt> traffic nat source rule <u32> port <u32|id>
interfaces vxlan <txt> traffic nat source rule <u32> protocol <txt>
interfaces vxlan <txt> traffic nat source rule <u32> selector <txt>
interfaces vxlan <txt> traffic policy in <txt> priority <txt>
interfaces vxlan <txt> traffic policy local-in <txt> priority <txt>
interfaces vxlan <txt> traffic policy local-out <txt> priority <txt>
interfaces vxlan <txt> traffic policy out <txt> priority <txt>