Gluon 2018.1 ############ 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/SinoVoip - Banana Pi (M1) .. [#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. * Configuration loss on upgrade under certain circumstances (`#1496 `_) The issue can only occur when upgrading from 2018.1 and there are multiple mirror entries in *site.conf* (specifically, an early failure for one of the mirrors, e.g. during DNS resolution, followed by a successful upgrade from a different mirror triggers the issue). This is a regression in Gluon 2018.1. * Next-node ARP issue (`#1488 `_) A routing table issue leads to ARP requests being sent from the next-node IPv4 address, but with a node-specific source MAC address. This can make the next-node IPv4 address unreachable. This is a regression in Gluon 2018.1.