summaryrefslogtreecommitdiff
path: root/usr/src/man/man5/overlay.5
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man5/overlay.5')
-rw-r--r--usr/src/man/man5/overlay.5521
1 files changed, 0 insertions, 521 deletions
diff --git a/usr/src/man/man5/overlay.5 b/usr/src/man/man5/overlay.5
deleted file mode 100644
index 41d1b18739..0000000000
--- a/usr/src/man/man5/overlay.5
+++ /dev/null
@@ -1,521 +0,0 @@
-.\"
-.\" This file and its contents are supplied under the terms of the
-.\" Common Development and Distribution License ("CDDL"), version 1.0.
-.\" You may only use this file in accordance with the terms of version
-.\" 1.0 of the CDDL.
-.\"
-.\" A full copy of the text of the CDDL should have accompanied this
-.\" source. A copy of the CDDL is also available via the Internet at
-.\" http://www.illumos.org/license/CDDL.
-.\"
-.\"
-.\" Copyright 2015 Joyent, Inc.
-.\"
-.Dd Apr 09, 2015
-.Dt OVERLAY 5
-.Os
-.Sh NAME
-.Nm overlay
-.Nd Overlay Devices
-.Sh DESCRIPTION
-Overlay devices are a GLDv3 device that allows users to create overlay
-networks that can be used to form the basis of network virtualization
-and software defined networking.
-Overlay networks allow a single physical network, often called an
-.Sy underlay
-network, to provide the means for creating multiple logical, isolated,
-and discrete layer two and layer three networks on top of it.
-.Pp
-Overlay devices are administered through
-.Xr dladm 1M .
-Overlay devices themselves cannot be plumbed up with
-.Sy IP ,
-.Sy vnd ,
-or any other protocol.
-Instead, like an
-.Sy etherstub ,
-they allow for VNICs to be created on top of them.
-Like an
-.Sy etherstub ,
-an overlay device acts as a local switch; however, when it encounters a
-non-local destination address, it instead looks up where it should send
-the packet, encapsulates it, and sends it out another interface in the
-system.
-.Pp
-A single overlay device encapsulates the logic to answer two different,
-but related, questions:
-.Pp
-.Bl -enum -offset indent -compact
-.It
-How should a packet be transformed and put on the wire?
-.It
-Where should a transformed packet be sent?
-.El
-.Pp
-Each of these questions is answered by a plugin.
-The first question is answered by what's called an
-.Em encapsulation plugin .
-The second question is answered by what's called a
-.Em search plugin .
-Packets are encapsulated and decapsulated using the encapsulation plugin
-by the kernel.
-The search plugins are all user land plugins that are consumed by the
-varpd service whose FMRI is
-.Em svc:/network/varpd:default .
-This separation allows for the kernel to be responsible for the data
-path, while having the search plugins in userland allows the system to
-provide a much more expressive interface.
-.Ss Overlay Types
-Overlay devices come in two different flavors, one where all packets are
-always sent to a single address, the other, where the destination of a
-packet varies based on the target MAC address of the packet.
-This information is maintained in a
-.Em target table ,
-which is independent and unique to each overlay device.
-We call the plugins that send traffic to a single location, for example
-a single unicast or multicast IP address, a
-.Sy point to point
-overlay and the overlay devices that can send traffic to different
-locations based on the MAC address of that packet a
-.Sy dynamic
-overlay.
-The plugin type is determined based on the type of the
-.Sy search plugin .
-These are all fully listed in the section
-.Sx Plugins and their Properties .
-.Ss Overlay Destination
-Both encapsulation and search plugins define the kinds of destinations
-that they know how to support.
-An encapsulation plugin always has a single destination type that's
-determined based on how the encapsulation is defined.
-A search plugin, on the other hand, can support multiple combinations of
-destinations.
-A search plugin must support the destination type of the encapsulation
-device.
-The destination may require any of the following three pieces of
-information, depending on the encapsulation plugin:
-.Bl -hang -width Ds
-.It Sy MAC Address
-.Bd -filled -compact
-An Ethernet MAC address is required to determine the destination.
-.Ed
-.It Sy IP Address
-.Bd -filled -compact
-An IP address is required.
-Both IPv4 and IPv6 addresses are supported.
-.Ed
-.It Sy Port
-.Bd -filled -compact
-An IP protocol level (TCP, UDP, SCTP, etc.) port is required.
-.Ed
-.El
-.Pp
-The list of destination types that are supported by both the search and
-encapsulation plugins is listed in the section
-.Sx Plugins and their Properties .
-.Ss varpd
-The varpd service, mentioned above, is responsible for providing the
-virtual ARP daemon.
-Its responsibility is conceptually similar to ARP.
-It runs all instances of search plugins in the system and is responsible
-for answering the kernel's ARP-like questions for where packets should
-be sent.
-.Pp
-The varpd service, svc:/network/varpd:default, must be enabled for
-overlay devices to function.
-If it is disabled while there are active devices, then most overlay
-devices will not function correctly and likely will end up dropping
-traffic.
-.Sh PLUGINS AND PROPERTIES
-Properties fall into three categories in the system:
-.Bl -enum -offset indent -compact
-.It
-Generic properties all overlay devices have
-.It
-Properties specific to the encapsulation plugin
-.It
-Properties specific to the search plugin
-.El
-.Pp
-Each property in the system has the following attributes, which mirror
-the traditional
-.Xr dladm 1M
-link properties:
-.Bl -hang -width Ds
-.It Sy Name
-.Bd -filled -compact
-The name of a property is namespaced by its module and always structured
-and referred to as as module/property.
-This allows for both an encapsulation and search plugin to have a
-property with the same name.
-Properties that are valid for all overlay devices and not specific to a
-module do not generally use a module prefix.
-.Pp
-For example, the property
-.Sy vxlan/listen_ip
-is associated with the
-.Sy vxlan
-encapsulation module.
-.Ed
-.It Sy Type
-.Bd -filled -compact
-Each property in the system has a type.
-.Xr dladm 1M
-takes care of converting between the internal representation and a
-value, but the type influences the acceptable input range.
-The types are:
-.Bl -hang -width Ds
-.It Sy INT
-A signed integer that is up to eight bytes long
-.Pq Sy int64_t .
-.It Sy UINT
-An unsigned integer that is up to eight bytes long
-.Pq Sy uint64_t .
-.It Sy IP
-Either an IPv4 or IPv6 address in traditional string form.
-For example, 192.168.128.23 or 2001:470:8af4::1:1.
-IPv4 addresses may also be encoded as IPv4-mapped IPv6 addresses.
-.It Sy STRING
-A string of ASCII or UTF-8 encoded characters terminated with a
-.Sy NUL
-byte.
-The maximum string length, including the terminator, is currently
-256 bytes.
-.El
-.Ed
-.It Sy Permissions
-.Bd -filled -compact
-Each property has permissions associated with it, which indicate whether
-the system considers them read-only properties or read-write properties.
-A read-only property can never be updated once the device is created.
-This generally includes things like the overlay's encapsulation module.
-.Ed
-.It Sy Required
-.Bd -filled -compact
-This property indicates whether the property is required for the given
-plugin.
-If it is not specified during a call to
-.Sy dladm create-overlay ,
-then the overlay cannot be successfully created.
-Properties which have a
-.Sy default
-will use that value if one is not specified rather than cause the
-overlay creation to fail.
-.Ed
-.It Sy Current Value
-.Bd -filled -compact
-The current value of a property, if the property has a value set.
-Required properties always have a value set.
-.Ed
-.It Sy Default Value
-.Bd -filled -compact
-The default value is an optional part of a given property.
-If a property does define a default value, then it will be used when an
-overlay is created and no other value is given.
-.Ed
-.It Sy Value ranges
-.Bd -filled -compact
-Value ranges are an optional part of a given property.
-They indicate a range or set of values that are valid and may be set for
-a property.
-A property may not declare such a range as it may be impractical or
-unknown.
-For example, most properties based on IP addresses will not
-declare a range.
-.Ed
-.El
-.Pp
-The following sections describe both the modules and the properties that
-exist for each module, noting their name, type, permissions, whether or
-not they are required, and if there is a default value.
-In addition, the effects of each property will be described.
-.Ss Encapsulation Plugins
-.Bl -hang -width Ds
-.It Sy vxlan
-The
-.Sy vxlan
-module is a UDP based encapsulation method.
-It takes a frame that would be put on the wire, wraps it up in a VXLAN
-header and places it in a UDP packet that gets sent out on the
-underlying network.
-For more details about the specific format of the VXLAN header, see
-.Xr vxlan 7P .
-.Pp
-The
-.Sy vxlan
-module requires both an
-.Sy IP address
-and
-.Sy port
-to address it.
-It has a 24-bit virtual network ID space, allowing for
-virtual network identifiers that range from
-.Sy 0
--
-.Sy 16777215 .
-.Pp
-The
-.Sy vxlan
-module has the following properties:
-.Bl -hang -width Ds
-.It Sy vxlan/listen_ip
-.Bd -filled -compact
-Type:
-.Sy IP |
-Permissions:
-.Sy Read/Write |
-.Sy Required
-.Ed
-.Bd -filled
-The
-.Sy vxlan/listen_ip
-property determines the IP address that the system will accept VXLAN
-encapsulated packets on for this overlay.
-.Ed
-.It Sy vxlan/listen_port
-.Bd -filled -compact
-Type:
-.Sy UINT |
-Permissions:
-.Sy Read/Write |
-.Sy Required
-.Ed
-.Bd -filled -compact
-Default Value:
-.Sy 4789 |
-Range:
-.Sy 0 - 65535
-.Ed
-.Bd -filled
-The
-.Sy vxlan/listen_port
-property determines the UDP port that the system will listen on for
-VXLAN traffic for this overlay.
-The default value is
-.Sy 4789 ,
-the IANA assigned port for VXLAN.
-.Ed
-.El
-.Pp
-The
-.Sy vxlan/listen_ip
-and
-.Sy vxlan/listen_port
-properties determine how the system will accept VXLAN encapsulated
-packets for this interface.
-It does not determine the interface that packets will be sent out over.
-Multiple overlays that all use VXLAN can share the same IP and port
-combination, as the virtual network identifier can be used to tell the
-different overlays apart.
-.El
-.Ss Search Plugins
-Because search plugins may support multiple destinations, they may have
-more properties listed than necessarily show up for a given overlay.
-For example, the
-.Sy direct
-plugin supports destinations that are identified by both an IP address
-and a port, or just an IP address.
-In cases where the device is created over an overlay that only uses an
-IP address for its destination, then it will not have the
-.Sy direct/dest_port
-property.
-.Bl -hang -width Ds
-.It Sy direct
-The
-.Sy direct
-plugin is a point to point module that can be used to create an overlay
-that forwards all non-local traffic to a single destination.
-It supports destinations that are a combination of an
-.Sy IP Address
-and a
-.Sy port .
-.Pp
-The
-.Sy direct
-plugin has the following properties:
-.Bl -hang -width Ds
-.It Sy direct/dest_ip
-.Bd -filled -compact
-Type:
-.Sy IP |
-Permissions:
-.Sy Read/Write |
-.Sy Required
-.Ed
-.Bd -filled
-The
-.Sy direct/dest_ip
-property indicates the IP address that all traffic will be sent out.
-Traffic will be sent out the corresponding interface based on
-traditional IP routing rules and the configuration of the networking
-stack of the global zone.
-.Ed
-.It Sy direct/dest_port
-.Bd -filled -compact
-Type:
-.Sy UINT |
-Permissions:
-.Sy Read/Write |
-.Sy Required
-.Ed
-.Bd -filled -compact
-Default Value:
-.Sy - |
-Range:
-.Sy 0 - 65535
-.Ed
-.Bd -filled
-The
-.Sy direct/dest_port
-property indicates the TCP or UDP port that all traffic will be directed
-to.
-.Ed
-.El
-.It Sy files
-The
-.Sy files
-plugin implements a
-.Sy dynamic
-plugin that specifies where traffic should be sent based on a file.
-It is a glorified version of /etc/ethers.
-The
-.Sy dynamic
-plugin does not support broadcast or multicast traffic, but it has
-support for proxy ARP, NDP, and DHCPv4.
-For the full details of the file format, see
-.Xr overlay_files 4 .
-.Pp
-The
-.Sy files
-plugin has the following property:
-.Bl -hang -width Ds
-.It Sy files/config
-.Bd -filled -compact
-Type:
-.Sy String |
-Permissions:
-.Sy Read/Write |
-.Sy Required
-.Ed
-.Bd -filled
-The
-.Sy files/config
-property specifies an absolute path to a file to read.
-The file is a JSON file that is formatted according to
-.Xr overlay_files 4 .
-.Ed
-.El
-.El
-.Ss General Properties
-Each overlay has the following properties which are used to give
-additional information about the system.
-None of these properties may be specified as part of a
-.Sy dladm create-overlay ,
-instead they come from other arguments or from internal parts of the
-system.
-.Bl -hang -width Ds
-.It Sy encap
-.Bd -filled -compact
-.Sy String |
-Permissions:
-.Sy Read Only
-.Ed
-.Bd -filled
-The
-.Sy encap
-property contains the name of the encapsulation module that's in use.
-.Ed
-.It Sy mtu
-.Bd -filled -compact
-.Sy UINT |
-Permissions:
-.Sy Read/Write
-.Ed
-.Bd -filled -compact
-Default Value:
-.Sy 1400 |
-Range:
-.Sy 576 - 9000
-.Ed
-.Bd -filled
-The
-.Sy mtu
-property describes the maximum transmission unit of the overlay.
-The default value is
-.Sy 1400
-bytes, which ensures that in a traditional deployment with an MTU of
-1500 bytes, the overhead that is added from encapsulation is all
-accounted for.
-It is the administrator's responsibility to ensure that
-the device's MTU and the encapsulation overhead does not exceed that of
-the interfaces that the encapsulated traffic will be sent out of.
-.Pp
-To modify the
-.Sy mtu
-property, use
-.Sy dladm set-linkprop .
-.Ed
-.It Sy search
-.Bd -filled -compact
-.Sy String |
-Permissions:
-.Sy Read Only
-.Ed
-.Bd -filled
-The
-.Sy search
-property contains the name of the search plugin that's in use.
-.Ed
-.It Sy varpd/id
-.Bd -filled -compact
-.Sy String |
-Permissions:
-.Sy Read Only
-.Ed
-.Bd -filled
-The
-.Sy varpd/id
-property indicates the identifier which the
-.Sy varpd
-service uses for this overlay.
-.Ed
-.It Sy vnetid
-.Bd -filled -compact
-.Sy UINT |
-Permissions:
-.Sy Read/Write
-.Ed
-.Bd -filled
-The
-.Sy vnetid
-property has the virtual network identifier that belongs to this overlay.
-The valid range for the virtual network identifier depends on the
-encapsulation engine.
-.Ed
-.El
-.Sh FMA INTEGRATION
-Overlay devices are wired into FMA, the illumos fault management
-architecture, and generates error reports depending on the
-.Sy search
-plugin in use.
-Due to limitations in FMA today, when a single overlay
-enters a degraded state, meaning that it cannot properly perform look
-ups or another error occurred, then it degrades the overall
-.Sy overlay
-pseudo-device driver.
-.Pp
-For more fine-grained information about which overlay is actually in a
-.Em degraded
-state, one should run
-.Sy dladm show-overlay -f .
-In addition, for each overlay in a degraded state a more useful
-diagnostic message is provided which describes the reason that caused
-this overlay to enter into a degraded state.
-.Pp
-The overlay driver is self-healing.
-If the problem corrects itself on its own, it will clear the fault on
-the corresponding device.
-.Sh SEE ALSO
-.Xr dladm 1M ,
-.Xr overlay_files 4 ,
-.Xr vxlan 7P