From c0e7b96d1da36c17810fae82d53cdebe39d65d3b Mon Sep 17 00:00:00 2001
From: lemoer <git@irrelefant.net>
Date: Thu, 14 Jun 2018 00:01:56 +0200
Subject: [PATCH] docs: add documentation about multidomain support (#1365)

---
 docs/features/multidomain.rst                 | 272 ++++++++++++++++++
 docs/features/multidomain_configmode.gif      | Bin 0 -> 58507 bytes
 docs/index.rst                                |   1 +
 .../domains/alpha_centauri.conf               |  61 ++++
 docs/multidomain-site-example/i18n            |   1 +
 docs/multidomain-site-example/modules         |   1 +
 docs/multidomain-site-example/site.conf       |  52 ++++
 docs/multidomain-site-example/site.mk         |  60 ++++
 8 files changed, 448 insertions(+)
 create mode 100644 docs/features/multidomain.rst
 create mode 100644 docs/features/multidomain_configmode.gif
 create mode 100644 docs/multidomain-site-example/domains/alpha_centauri.conf
 create mode 120000 docs/multidomain-site-example/i18n
 create mode 120000 docs/multidomain-site-example/modules
 create mode 100644 docs/multidomain-site-example/site.conf
 create mode 100644 docs/multidomain-site-example/site.mk

diff --git a/docs/features/multidomain.rst b/docs/features/multidomain.rst
new file mode 100644
index 000000000..7fa55a3f2
--- /dev/null
+++ b/docs/features/multidomain.rst
@@ -0,0 +1,272 @@
+Multidomain Support
+===================
+
+Preamble
+--------
+
+There comes a time when a mesh network grows past sensible boundaries.
+As broadcast traffic grows, mesh networks experience scaling issues and
+using them becomes very unpleasant. An approach to solve this follows
+the well-known “divide and conquer” paradigm and splits a large network
+into multiple smaller networks. These smaller networks start with a
+dedicated layer 2 network each, which are interconnected via their
+gateways by layer 3 routing. Gluon is already field-tested handling a
+single domain and the multidomain feature allows for the reconfiguration
+of key parameters that decide which domain a node participates in,
+without the need of a distinct set of firmware images for each mesh domain.
+
+Overview
+--------
+
+Multidomain support allows to build a single firmware with multiple,
+switchable domain configurations. The nomenclature is as follows:
+
+-  ``site``: an aggregate over multiple domains
+-  ``domain``: mesh network with connectivity parameters that prevent
+   accidental bridging with other domains
+-  ``domain code``: unique domain identifier
+-  ``domain name``: pretty name for a domain code
+
+By default Gluon builds firmware with a single domain embedded into
+``site.conf``. To use multiple domains, enable it in ``site.mk``:
+
+::
+
+    GLUON_MULTIDOMAIN=1
+
+In the site repository, create the ``domains/`` directory, which will
+hold your domain configurations. Each domain configuration file is named
+after its primary ``domain_code``, additional domain codes and names are
+supported.
+
+::
+
+    site/
+    |-- site.conf
+    |-- site.mk
+    |-- i18n/
+    |-- domains/
+      |-- alpha_centauri.conf
+      |-- beta_centauri.conf
+      |-- gamma_centauri.conf
+
+The domain configuration ``alpha_centauri.conf`` could look like this.
+
+::
+
+    {
+      domain_names = {
+        alpha_centauri = 'Alpha Centauri'
+      },
+
+      -- more domain specific config follows below
+    }
+
+In this example “Alpha Centauri” is the user-visible ``domain_name`` for the
+domain_code ``alpha_centauri``. Also note that the domain code
+``alpha_centauri`` matches the filename ``alpha_centauri.conf``.
+
+Additional domain codes/names can be added to ``domain_names``, which
+are treated as aliases for the their domain configuration. Aliases can
+be used to offer more fine-grained and well-recognizable domain choices
+to users. Having multiple aliases on a single domain is a helpful
+precursor to splitting the domain into even smaller blocks.
+
+Furthermore you have to specify the ``default_domain`` in the ``site.conf``.
+This domain is applied in following cases:
+
+- When the config mode is skipped.
+- When a domain is removed in a new firmware release, the default_domain
+  will be chosen then.
+- When a user selects a wrong domain code via uci.
+
+Please note, that this value is saved to uci, so changing the `default_domain`
+value in the `site.conf` in a new firmware release only affects the actual
+domain of a router, if and only if one of the above conditions matches.
+
+
+Switching the domain
+--------------------
+
+**via commandline**:
+
+::
+
+    uci set gluon.core.domain="newdomaincode"
+    gluon-reconfigure
+    reboot
+
+**via config mode:**
+
+To allow switching the domain via config mode, ``config-mode-domain-select``
+has to be added to GLUON_FEATURES in the site.mk.
+
+|image0|
+
+Allowed site variables
+----------------------
+
+Internally the site variables are merged from the ``site.conf`` and the
+selected ``domain.conf``, so the most variables are also allowed in
+``site.conf`` and in ``domain.conf``. But there are some exceptions,
+which do not make sense in a domain or site specific way. The following
+sections give an overview over variables that are only usable in either
+site or domain context.
+
+site.conf only variables
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+-  Used in as initial default values, when the firmware was just flashed
+   and/or the config mode is skipped, so they do not make sense in a
+   domain specific way:
+
+   -  authorized_keys
+   -  default_domain
+   -  poe_passthrough
+   -  mesh_on_wan
+   -  mesh_on_lan
+   -  single_as_lan
+   -  setup_mode.skip
+   -  autoupdater.branch
+   -  mesh_vpn.enabled
+   -  mesh_vpn.pubkey_privacy
+   -  mesh_vpn.bandwidth_limit
+   -  mesh_vpn.bandwidth_limit.enabled
+   -  mesh_vpn.bandwidth_limit.ingress
+   -  mesh_vpn.bandwidth_limit.egress
+
+-  Variables that influence the appearance of the config mode,
+   domain-independent because they are relevant before a domain was selected.
+
+   -  config_mode.geo_location.show_altitude
+   -  config_mode.hostname.optional
+   -  config_mode.remote_login
+   -  config_mode.remote_login.show_password_form
+   -  config_mode.remote_login.min_password_length
+   -  hostname_prefix
+   -  mesh_vpn.fastd.configurable
+   -  roles.default
+   -  roles.list
+
+-  Specific to a firmware build itself:
+
+   -  site_code
+   -  site_name
+   -  autoupdater.branches.*.name
+   -  autoupdater.branches.*.good_signatures
+   -  autoupdater.branches.*.pubkeys
+
+-  We simply do not see any reason, why these variables could be helpful
+   in a domain specific way:
+
+   -  mesh_vpn.fastd.syslog_level
+   -  wifi*.ibss.supported_basic_rates
+   -  wifi*.mesh.supported_basic_rates
+   -  timezone
+   -  regdom
+
+domain.conf only variables
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+-  Obviously:
+
+   -  domain_names
+
+      -  a table of domain codes to domain names
+         ``domain_names = { foo = 'Foo Domain', bar = 'Bar Domain', baz = 'Baz Domain' }``
+
+   -  hide_domain
+
+      -  prevents a domain name(s) from appearing in config mode, either
+         boolean or array of domain codes
+
+         -  ``true``, ``false``
+         -  ``{ 'foo', 'bar' }``
+
+-  Because each domain is considered as an own layer 2 network, these
+   values should be different in each domain:
+
+   -  next_node.ip4
+   -  next_node.ip6
+   -  next_node.name
+   -  prefix6
+   -  prefix4
+   -  extra_prefixes6
+
+-  To prevent accidential bridging of different domains, all meshing
+   technologies should be seperated:
+
+   -  domain_seed (wired mesh)
+
+      -  must be a random value used to derive the vxlan id for wired meshing
+
+   -  wifi*.ibss.ssid
+   -  wifi*.ibss.bssid
+   -  wifi*.mesh.id
+   -  mesh_vpn.fastd.groups.*.peers.remotes
+   -  mesh_vpn.fastd.groups.*.peers.key
+   -  mesh_vpn.tunneldigger.brokers
+
+-  Clients consider WiFi networks sharing the same ESSID as if they were
+   the same L2 network and try to reconfirm and reuse previous
+   addressing. If multiple neighbouring domains shared the same ESSID,
+   the roaming experience of clients would degrade.
+
+   -  wifi*.ap.ssid
+
+- Some values should be only set in legacy domains and not in new domains.
+   -  mesh.vxlan
+
+       -  By default, this value is `true`. It should be only set to `false`
+          for one legacy domain, since vxlan prevents accidental wired
+          merges of domains. For old domains this value is still available
+          to keep compatibility between all nodes in one domain.
+
+   -  next_node.mac
+
+       -  For new domains, the default value should be used, since there is
+          no need for a special mac (or domain specific mac). For old domains
+          this value is still available to keep compatibility between all
+          nodes in one domain.
+
+Example config
+--------------
+
+site.mk
+^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/site.mk
+  :language: makefile
+
+site.conf
+^^^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/site.conf
+  :language: lua
+
+domains/alpha_centauri.conf
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/domains/alpha_centauri.conf
+  :language: lua
+
+i18n/en.po
+^^^^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/i18n/en.po
+  :language: po
+
+i18n/de.po
+^^^^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/i18n/de.po
+  :language: po
+
+modules
+^^^^^^^
+
+.. literalinclude:: ../multidomain-site-example/modules
+  :language: makefile
+
+
+.. |image0| image:: multidomain_configmode.gif
diff --git a/docs/features/multidomain_configmode.gif b/docs/features/multidomain_configmode.gif
new file mode 100644
index 0000000000000000000000000000000000000000..494840f59f418ac1c104c53c4e0dc3edc9fb65f7
GIT binary patch
literal 58507
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%0D5~`
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
Ws-~){t}3gxs;j;#tSU`F0028K>pVmN

literal 0
HcmV?d00001

diff --git a/docs/index.rst b/docs/index.rst
index 03839d3d2..7c6d06eb9 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -25,6 +25,7 @@ Several Freifunk communities in Germany use Gluon as the foundation of their Fre
    features/wired-mesh
    features/dns-forwarder
    features/monitoring
+   features/multidomain
    features/authorized-keys
    features/roles
    features/vpn
diff --git a/docs/multidomain-site-example/domains/alpha_centauri.conf b/docs/multidomain-site-example/domains/alpha_centauri.conf
new file mode 100644
index 000000000..27558253e
--- /dev/null
+++ b/docs/multidomain-site-example/domains/alpha_centauri.conf
@@ -0,0 +1,61 @@
+{
+  -- multiple codes/names can be defined, the first one is the primary name
+  -- additional aliases can be defined
+  domain_names = {
+    alpha_centauri = 'Alpha Centauri',
+    rigil_kentaurus = 'Rigil Kentaurus',
+    proxima_centauri = 'Proxima Centauri',
+  },
+
+  -- 32 byte random data in hexadecimal encoding
+  -- Can be generated using: echo $(hexdump -v -n 32 -e '1/1 "%02x"' </dev/urandom)
+  domain_seed = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+
+  -- unique network prefixes per domain
+  prefix4 = '10.xxx.0.0/20',
+  prefix6 = 'fdxx:xxxx:xxxx:xxxx::/64',
+
+  next_node = {
+    ip4 = '10.xxx.yyy.zzz',
+    ip6 = 'fdxx:xxxx:xxxx:xxxx::xxxx',
+  },
+
+  wifi24= {
+    ap = {
+      ssid = "alpha-centauri.example.org",
+      channel = 1,
+    },
+    mesh = {
+      id = 'ueH3uXjdp', -- usually you don't want users to connect to this mesh-SSID, so use a cryptic id that no one will accidentally mistake for the client WiFi
+    },
+  },
+
+  wifi5= {
+    ap = {
+      ssid = "alpha-centauri.example.org",
+      channel = 44,
+    },
+    mesh = {
+      id = 'ueH3uXjdp',
+    },
+  },
+
+  mesh_vpn = {
+    fastd = {
+      groups = {
+        backbone = {
+          peers = {
+            peer1 = {
+              key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+              remotes = {'"peer1.example.org" port xxxxx'},
+            },
+            peer2 = {
+              key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+              remotes = {'"peer2.example.org" port xxxxx'},
+            },
+          },
+        },
+      },
+    },
+  },
+}
diff --git a/docs/multidomain-site-example/i18n b/docs/multidomain-site-example/i18n
new file mode 120000
index 000000000..db297ce10
--- /dev/null
+++ b/docs/multidomain-site-example/i18n
@@ -0,0 +1 @@
+../site-example/i18n/
\ No newline at end of file
diff --git a/docs/multidomain-site-example/modules b/docs/multidomain-site-example/modules
new file mode 120000
index 000000000..92ec2fa53
--- /dev/null
+++ b/docs/multidomain-site-example/modules
@@ -0,0 +1 @@
+../site-example/modules
\ No newline at end of file
diff --git a/docs/multidomain-site-example/site.conf b/docs/multidomain-site-example/site.conf
new file mode 100644
index 000000000..25eaeb695
--- /dev/null
+++ b/docs/multidomain-site-example/site.conf
@@ -0,0 +1,52 @@
+{
+  site_name = 'Centauri Mesh',
+  site_code = 'centauri',
+  default_domain = 'alpha_centauri',
+
+  timezone = 'CET-1CEST,M3.5.0,M10.5.0/3',
+  ntp_server = {'ntp1.example.org', 'ntp2.example.org'},
+  regdom = 'DE',
+
+  wifi24 = {
+    mesh = {
+      mcast_rate = 12000,
+    },
+  },
+
+  wifi5 = {
+    mesh = {
+      mcast_rate = 12000,
+    },
+  },
+
+  mesh_vpn = {
+    mtu = 1312,
+
+    fastd = {
+      methods = {'salsa2012+umac'},
+    },
+
+    bandwidth_limit = {
+      enabled = false,
+      egress = 200, -- kbit/s
+      ingress = 3000, -- kbit/s
+    },
+  },
+
+  autoupdater = {
+    branch = 'stable',
+
+    branches = {
+      stable = {
+        name = 'stable',
+        mirrors = {'http://update.example.org/stable/sysupgrade'},
+        good_signatures = 2,
+        pubkeys = {
+          'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Alice
+          'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Bob
+          'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Mary
+        },
+      },
+    },
+  },
+}
diff --git a/docs/multidomain-site-example/site.mk b/docs/multidomain-site-example/site.mk
new file mode 100644
index 000000000..1e16ca1a4
--- /dev/null
+++ b/docs/multidomain-site-example/site.mk
@@ -0,0 +1,60 @@
+##	gluon site.mk makefile example
+
+##	GLUON_FEATURES
+#		Specify Gluon features/packages to enable;
+#		Gluon will automatically enable a set of packages
+#		depending on the combination of features listed
+
+GLUON_FEATURES := \
+	autoupdater \
+	ebtables-filter-multicast \
+	ebtables-filter-ra-dhcp \
+	mesh-batman-adv-15 \
+	mesh-vpn-fastd \
+	radvd \
+	respondd \
+	status-page \
+	web-advanced \
+	web-wizard
+
+##	GLUON_MULTIDOMAIN
+#		Build gluon with multidomain support.
+
+GLUON_MULTIDOMAIN=1
+
+##	GLUON_SITE_PACKAGES
+#		Specify additional Gluon/LEDE packages to include here;
+#		A minus sign may be prepended to remove a packages from the
+#		selection that would be enabled by default or due to the
+#		chosen feature flags
+
+
+GLUON_SITE_PACKAGES := haveged iwinfo
+
+##	DEFAULT_GLUON_RELEASE
+#		version string to use for images
+#		gluon relies on
+#			opkg compare-versions "$1" '>>' "$2"
+#		to decide if a version is newer or not.
+
+DEFAULT_GLUON_RELEASE := 0.6+exp$(shell date '+%Y%m%d')
+
+# Variables set with ?= can be overwritten from the command line
+
+##	GLUON_RELEASE
+#		call make with custom GLUON_RELEASE flag, to use your own release version scheme.
+#		e.g.:
+#			$ make images GLUON_RELEASE=23.42+5
+#		would generate images named like this:
+#			gluon-ff%site_code%-23.42+5-%router_model%.bin
+
+GLUON_RELEASE ?= $(DEFAULT_GLUON_RELEASE)
+
+# Default priority for updates.
+GLUON_PRIORITY ?= 0
+
+# Region code required for some images; supported values: us eu
+GLUON_REGION ?= eu
+
+# Languages to include
+GLUON_LANGS ?= en de
-- 
GitLab