===== VXLAN ===== .. sidebar:: Contents .. contents:: :depth: 3 :local: :abbr:`VXLAN (Virtual Extensible LAN)` 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 :ref:`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 :osdx:op:`interfaces vxlan * show` or :osdx:op:`interfaces vxlan show` you can check different parameters relevant for VXLAN interfaces. .. _fdb_vxlan: 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: * :osdx:cfg:`interfaces vxlan * fdb`: show the FDB entries of a VXLAN interface. * :osdx:cfg:`interfaces bridge * fdb`: show the FDB entries of a bridge interface. FDB Monitoring ^^^^^^^^^^^^^^ The operational commands :osdx:op:`interfaces vxlan * show fdb` and :osdx:op:`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: .. code-block:: none 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: .. code-block:: none set interfaces vxlan vxlan0 fdb entry 1 mac 00:00:00:00:00:00 destination 192.168.1.2 :doc:`Here ` you can find more examples of FDB management. Examples ======== :doc:`Here ` you can find different examples of these VXLAN options. Command Summary =============== .. osdx:cmdtree:: cfg interfaces vxlan .. osdx:cmdtree:: op interfaces vxlan