v2014.3.rst 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. Gluon 2014.3
  2. ============
  3. New hardware support
  4. ~~~~~~~~~~~~~~~~~~~~
  5. * Linksys WRT160NL
  6. New features
  7. ~~~~~~~~~~~~
  8. New autoupdater
  9. ---------------
  10. The autoupdater has been rewritten.
  11. Two new fields have been added to the manifest:
  12. ``DATE``
  13. Specifies the time and date the update was released. ``make manifest`` will take care of setting it to the correct value.
  14. ``PRIORITY``
  15. Specifies the maximum number of days until the update should be attempted (thus lower numbers
  16. mean the priority is higher). It must be set either in ``site.mk`` or on the ``make manifest`` command line.
  17. Updates will be attempted at night, between 04:00 and 5:00, with a specific probability.
  18. When less than ``PRIORITY`` days have passed (calculated using ``DATE`` and the current time),
  19. the probability will proportional to the time passed. I.e. the update probability will start at 0
  20. and slowly increase to 1 until ``PRIORITY`` days have passed. From then, the probability will be fixed at 1.
  21. **Note:** For the new update logic to work, a valid NTP server reachable over the mesh (using IPv6) must
  22. be configured in ``site.mk``. If the autoupdater is unable to determine the correct time, it will fall back to
  23. a behavior similar to the old implementation (i.e. hourly update attempts).
  24. Seperation of announced data
  25. ----------------------------
  26. The data announced by alfred has been split into two data types:
  27. * *nodeinfo* (type 158) contains all static information about a node
  28. * *statistics* (type 159) contains all dynamic information about a node
  29. Both types also contain a new field ``node_id`` which contains an arbitrary unique ID
  30. (currently the primary MAC address, sans colons) which can be used to match the *nodeinfo*
  31. with *statistics* information.
  32. gluon-announced
  33. ---------------
  34. A new daemon has been added in a new package ``gluon-announced``. This daemon can be
  35. used for querying the *nodeinfo* data of a node via link-local multicast on the ad-hoc
  36. interfaces.
  37. At the moment, this daemon is not used, but we recommend including it in ``site.mk`` nevertheless
  38. as we plan to implement a new status page showing some information about neighbor nodes in
  39. the next version of Gluon.
  40. VPN over IPv6
  41. -------------
  42. It is now possible to use fastd in IPv6 WAN networks. This still needs testing, but it should work well.
  43. Please note that the MTU of 1426 used by many communities for VPN over IPv4 is too big for IPv6 as
  44. the IPv6 header is 20 bytes longer (fastd over IPv4 has an overhead of 66 bytes,
  45. fastd over IPv6 has an overhead of 86 bytes).
  46. More modular Config Mode
  47. ------------------------
  48. The package ``gluon-config-mode`` has been split into multiple packages to simplify the development of
  49. extensions. The low-level logic (handling of the button, starting the services for the config mode) has been moved
  50. into a new package ``gluon-setup-mode``, while ``gluon-config-mode`` only contains the frontend now.
  51. Extended Expert Mode
  52. --------------------
  53. The Expert Mode now has a nice info page. In addition, the new package ``gluon-luci-portconfig`` has been added
  54. which allows simple configuration of batman-adv on the WAN interface.
  55. Site validators
  56. ---------------
  57. The content of the ``site.conf`` is now validated when the images are built to make it less likely to accidentially
  58. build broken images.
  59. gluon-firewall
  60. --------------
  61. The package ``gluon-firewall`` has been removed. Its features are now part of the packages ``gluon-core`` and
  62. ``gluon-mesh-batman-adv``.
  63. gluon-ath9k-workaround
  64. ----------------------
  65. This package installs a cron job which tries to recognize ath9k hangs and restart the WLAN while recording some information.
  66. It is very rudimentary and we can't really recommend using it on "production" nodes.
  67. Bugfixes
  68. ~~~~~~~~
  69. Improved ath9k stability
  70. ------------------------
  71. Multiple bugs in the WLAN driver ath9k have been fixed upstream. This should greatly improve the WLAN stability.
  72. odhcp6c 50 day bug
  73. ------------------
  74. An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime
  75. of 50 days, making the nodes unable perform automated updates (besides other issues).
  76. IPv6 preference
  77. ---------------
  78. Commands like ``wget`` now prefer IPv6 for domains with both AAAA and A records, allowing to use such domains for the autoupdater URLs
  79. and as NTP servers in ``site.conf``.
  80. Site changes
  81. ~~~~~~~~~~~~
  82. * ``site.conf``
  83. - The ``probability`` fields for the autoupdater branches can be dropped as they aren't used anymore
  84. - The type of the ``enabled`` options of the ``gluon-simple-tc`` configuration has been changed to boolean, so ``true`` and ``false`` must be used instead of 1 and 0 now
  85. * ``site.mk``
  86. - Obsolete packages:
  87. + ``gluon-firewall``
  88. - Recommended new packages:
  89. + ``gluon-announced``
  90. + ``gluon-luci-portconfig``
  91. - GLUON_PRIORITY must be set in ``site.mk`` or on the ``make manifest`` commandline. Use ``GLUON_PRIORITY ?= 0`` in ``site.mk`` to allow overriding from the commandline.
  92. Internals
  93. ~~~~~~~~~
  94. Some internal changes not mentioned before which are interesting for developers:
  95. * Many more shell scripts have been converted to Lua
  96. * ``gluon-mesh-vpn-fastd`` now uses the new package ``gluon-wan-dnsmasq``, which provides a secondary DNS server on port 54
  97. that is only reachable from *localhost* and uses the DNS servers on the WAN interface for everything. This allowed us to
  98. remove some ugly hacks which were making the DNS servers used depend on the domain being resolved.
  99. For IPv6, the default route is now controlled via packet marks, so the secondary DNS server and fastd set the packet mark
  100. so they use the default route provided on the WAN interface instead of the mesh.