OVERLAY_FILES(5) | File Formats and Configurations | OVERLAY_FILES(5) |
overlay_files
—
Overlay files plugin file format
The files plugin provides a means for a dynamic overlay where the destinations are determined based on a static description contained in a JSON file. This manual describes the format of the file used by the files/config property. To create and manage overlays with the files plugin, use dladm(8). For more information on overlays, see overlay(7).
Using the files module, a static and simple overlay network can be created. This network does not support the use of broadcast or multicast traffic. Both ARP and NDP traffic are proxied by the plugin itself. In addition, the plugin allows for DHCP. Instead of providing a traditional DHCP proxy, when an initial DHCP broadcast goes out to a broadcast address, it will get rewritten to target a specific MAC address. The files plugin is useful as proof of concept and for simple static networks where addresses do not need to be reconfigured. If more advanced topologies or more streamlined updates are required, consider a different plugin.
The file format is encoded as a series of JSON objects. Each object has a key, which is a MAC address on the overlay network. It has multiple values, some required, some optional, which describe various properties. The valid properties are:
The value is a JSON String. Both IPv4 and IPv6 addresses are supported and should be written out in their traditional forms. Follow the guidelines for writing addresses in inet_aton(3C).
The value is a JSON String and should be written out following the guidelines for IPv4 addresses in inet_aton(3C).
The value is a JSON String and should be written out following the guidelines for IPv6 addresses in inet_aton(3C).
Example 1 Sample configuration file
This configuration file provides information for three different MAC addresses. Each MAC address has an entry which describes what its IPv4 and IPv6 address is, as well as the IP address and port of the host on the underlay network. Finally, one host has a DHCP proxy entry to demonstrate how one might configure DHCP.
{ "de:ad:be:ef:00:00": { "arp": "10.55.55.2", "ip": "10.88.88.69", "ndp": "fe80::3", "port": 4789 }, "de:ad:be:ef:00:01": { "arp": "10.55.55.3", "dhcp-proxy": "de:ad:be:ef:00:00", "ip": "10.88.88.70", "ndp": "fe80::4", "port": 4789 }, "de:ad:be:ef:00:02": { "arp": "10.55.55.4", "ip": "10.88.88.71", "ndp": "fe80::5", "port": 4789 } }
This file format is committed; however, keys that are not listed here are reserved for future use.
March 30, 2022 | OmniOS |