diff --git a/docs/index.rst b/docs/index.rst index 880790d4..b4e97793 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -70,6 +70,7 @@ Several Freifunk communities in Germany use Gluon as the foundation of their Fre :caption: Releases :maxdepth: 1 + releases/v2018.1 releases/v2017.1.8 releases/v2017.1.7 releases/v2017.1.6 diff --git a/docs/releases/v2018.1.rst b/docs/releases/v2018.1.rst new file mode 100644 index 00000000..20e5729e --- /dev/null +++ b/docs/releases/v2018.1.rst @@ -0,0 +1,376 @@ +Gluon 2018.1 (in development) +############################# + +Important notes +*************** + +This version changes the flash partition layout on some devices (TP-Link CPE/WBS 210/510). To avoid +upgrade failures, make sure to upgrade to Gluon 2017.1.8 or the latest Gluon 2016.2.x (unreleased) +before installing Gluon 2018.1. + +Some of the following paragraphs describe so-called "feature flags". This new concept is +explained in :ref:`user-site-feature-flags`. + +Added hardware support +********************** + +ar71xx-generic +============== + +* ALFA NETWORK + + - AP121F + +* AVM + + - FRITZ!Box 4020 + +* OpenMesh + + - A40 + - A60 + - OM2P v4 + - OM2P-HS v4 + +* TP-Link + + - Archer C59 v1 [#noibss]_ + - CPE210 v2 + +ar71xx-nand +=========== + +* ZyXEL + + - NBG6716 + +ar71xx-tiny +=========== + +* TP-Link + + - TL-WA901ND v5 + +ipq806x [#newtarget]_ [#noibss]_ +================================ + +* TP-Link + + - Archer C2600 + +ramips-mt7620 [#newtarget]_ [#noibss]_ +====================================== + +* GL Innovations + + - GL-MT300A + - GL-MT300N + - GL-MT750 + +ramips-mt7628 [#newtarget]_ [#noibss]_ +====================================== + +* VoCore + + - VoCore 2 + +ramips-rt305x [#newtarget]_ [#noibss]_ +====================================== + +* A5 + + - V11 + +* D-Link + + - DIR615 (D1, D2, D3, D4, H1) + +* VoCore + + - VoCore (8MB, 16MB) + +sunxi [#newtarget]_ +=================== + +* LeMaker + + - Lamobo r1 + + +.. [#newtarget] + New target + +.. [#noibss] + Device or target does not support AP+IBSS mode: This device or target will not be built + when *GLUON_WLAN_MESH* is set to ``ibss``. + +New features +************ + +Multidomain support +=================== + +When mesh networks grow too large, it becomes necessary to split them into +multiple independent mesh domains to allow the meshes to work with reasonable +performance. Formerly, the only way to achieve this with Gluon was to build +a separate set of firmware images for each domain. + +With Gluon 2018.1, multidomain firmwares can be used to achieve the same, +using only a single site configuration that is basis for several different +domain-specific configurations. The feature is explained in detail in +:doc:`../features/multidomain`. + +Wired mesh encapsulation +======================== + +Gluon now supports encapsulating wired mesh traffic (Mesh on LAN/WAN) in +`VXLAN `_. +See :doc:`../features/wired-mesh` for details on this feature. + +Router advertisement filtering +============================== + +Similar to the builtin batman-adv gateway feature for IPv4, the *gluon-radv-filterd* package +(*radv-filterd* feature flag) allows to filter IPv6 router advertisements received from the mesh +so that only the RAs with the best routing metric (TQ) reach the clients, ensuring that +the "best" (topologically closest) gateway is chosen as the IPv6 default route, thereby +reducing gateway crosstalk. + +At the moment, this feature only filters RAs forwarded to clients; the RAs handled on +the nodes themselves will be unfiltered, so the nodes will still use arbitrary default +gateways. + +IGMP/MLD segmentation +===================== + +The IGMP/MLD segmentation feature previously provided by the *gluon-ebtables-segment-mld* +package has been extended and moved into the Gluon core; it does not exist as a separate package +anymore. + +Filtering IGMP/MLD queries directed towards the mesh ensures that each node becomes the multicast querier +for its own clients (unless there are other multicast-aware switches connected to the node), rather +than electing a single, basically arbitrary node in the mesh to become the querier. Overall, +this should significantly improve the reliablity of multicast in the mesh. This is especially +important for IPv6, as the IPv6 Neighbour Discovery Protocol (NDP) is based on local multicast. + +See also the documentation of the :ref:`site.conf mesh section `. + +gluon-ebtables-limit-arp +======================== + +The *gluon-ebtables-limit-arp* (*ebtables-limit-arp* feature flag) package adds filters to limit the +rate of ARP requests client devices are allowed to send into the mesh. + +Certain client applications are known to generate a significant amount of such ARP requests and +are reportedly becoming more and more common. Without this package, such clients are one +known cause for mesh wide load and congestion problems (see also the :ref:`releases-v2018.1-known-issues` +section below). + +Because of this package's implementation, which relies on frequent dynamic updates +- something ebtables does not perform well at - it is not included by default, as it can +cause unnecessary load. Feedback, especially with a close look on load and congestion on +nodes with a large number of changing client devices, is very much welcome. Depending on the +feedback, we might enable this feature by default in a future release. + +Public key in respondd data (optional) +====================================== + +If desired, the fastd public key of a node can be included in the respondd nodeinfo data, +faciliating the correlations of VPN peers and nodes. As the VPN key is transmitted unencrypted +in the fastd handshake, this would theoretically allow an ISP to determine which nodes +are operated behind which internet line. Therefore, this feature must be enabled explicitly +by setting *mesh_vpn.pubkey_privacy* to ``false`` in *site.conf*. + +B.A.T.M.A.N. V (experimental) +============================= + +When using batman-adv compat 15, it is now possible to switch to the new routing +algorithm B.A.T.M.A.N. V (while the old algorithm is called B.A.T.M.A.N. IV) by +setting *mesh.batman_adv.routing_algo* to ``"BATMAN_V"``. Note that the new routing +algorithm is not backwards-compatible, so nodes using different algorithms can +not interoperate. + +.. _releases-v2018.1-site-changes: + +Site changes +************ + +site.mk +======= + +* Due to improved package dependency handling, the packages + *gluon-config-mode-core* and *gluon-setup-mode* do not need + to be listed explicitly in *site.mk* anymore; they will be + pulled in implicitly. +* Including the *ebtables-limit-arp* feature flag is recommended. Please note + the abovementioned caveats on this feature. +* We recommend to use *GLUON_FEATURES* for all Gluon packages, and rely on + *GLUON_SITE_PACKAGES* for non-Gluon (OpenWrt) packages only, as explained + in :ref:`user-site-feature-flags`. + +site.conf +========= + +When updating a site configuration from Gluon 2017.1.x, the following changes +must be made: + +* .. code-block:: lua + + domain_seed = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', + + These 32 bytes of random data (encoded in hexadecimal) are used to seed a number + of site/domain specific random values that must be the same on all nodes of the + same mesh, but different for different meshes. The following command + can be used to generate such a random value: + + .. code-block:: shell + + echo $(hexdump -v -n 32 -e '1/1 "%02x"' `_. When finished, the optimizations +will help reduce the remaining Layer-2-specific network overhead, e.g. multicasted ICMPv6 messages. + +No behaviour changes are expected yet, as the multicast sender side is still disabled. +Once the majority of the mesh network has been updated to Gluon 2018.1, it can be activated on +dedicated nodes by including `#1357 `_ in the firmware +build. Test feedback is very welcome. + +.. _releases-v2018.1-known-issues: + +Known issues +************ + +* Default TX power on many Ubiquiti devices is too high, correct offsets are unknown (`#94 `_) + + Reducing the TX power in the Advanced Settings is recommended. + +* The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled (`#496 `_) + + This may lead to issues in environments where a fixed MAC address is expected (like VMware when promicious mode is disallowed). + +* Inconsistent respondd API (`#522 `_) + + The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while. + +* Frequent reboots due to out-of-memory or high load due to memory pressure on weak hardware specially in larger meshes + (`#1243 `_) + + Optimizations in Gluon 2018.1 have significantly improved memory usage. + There are still known bugs leading to unreasonably high load that we hope to + solve in future releases. diff --git a/docs/user/site.rst b/docs/user/site.rst index 142ec919..94d6d181 100644 --- a/docs/user/site.rst +++ b/docs/user/site.rst @@ -182,6 +182,8 @@ next_node \: package in isolated mesh segments). This is possible by providing one or more names in the ``name`` field. +.. _user-site-mesh: + mesh Configuration of general mesh functionality.