Skip to content
Snippets Groups Projects
  1. Feb 22, 2022
  2. Dec 31, 2021
  3. Oct 07, 2021
    • Matthias Schiffer's avatar
      Set PKG_VERSION in gluon.mk · f419db58
      Matthias Schiffer authored
      This removes PKG_VERSION and PKG_RELEASE from most Makefiles, as the
      value was never useful for Gluon packages; instead, PKG_VERSION is set
      to 1 in gluon.mk.
      
      It also removes two other weird definitions:
      
      - gluon-iptables-clamp-mss-to-pmtu replicating the old PKG_VERSION logic
        from gluon-core, but without the fixed PKG_BUILD_DIR to prevent
        unnessary rebuilds
      - gluon-hoodselector set GLUON_VERSION=3
      f419db58
  4. Aug 12, 2021
  5. Jul 13, 2021
  6. May 01, 2021
  7. Apr 28, 2021
    • Linus Lüssing's avatar
      gluon-mesh-batman-adv: reenable batman-adv multicast optimizations · 288daf5a
      Linus Lüssing authored
      
      With batman-adv 2020.4 and the according backports to batman-adv v2019.2
      several more bugs were found and fixed regarding the batman-adv
      multicast optimizations feature.
      
      Also a "wakeup-call" feature was added to the Linux bridge IGMP/MLD
      snooping code in Gluon to work around issues with Android devices.
      
      With batman-adv now at v2019.2, multicast-to-multi-unicasts conversion
      is supported, too. Which means that even if there are a few outdated nodes
      these and all other recipients will be served multicast packets via unicast,
      too, as long as the sum of receiving nodes does not exceed the multicast
      fanout setting (default: 16). If is exceeded, then batman-adv will revert
      back to broadcast flooding automatically.
      
      Long story short, with all these extra measures in place, let's reenable
      the batman-adv multicast optimizations to reduce the layer 2 overhead
      and in preparation for multicast applications in the future.
      
      The default is enabled for this feature anyway, so removing the
      "batctl multicast_mode 0" overwrite is sufficient.
      
      Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
      288daf5a
  8. Jun 13, 2020
  9. Jun 01, 2020
  10. May 12, 2020
  11. Apr 20, 2020
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv: add UCI setting for hop penalty · 778bf905
      Matthias Schiffer authored
      Add a UCI setting gluon.mesh_batman_adv.hop_penalty
      
      Example UCI commands:
      
          uci set gluon.mesh_batman_adv=mesh_batman_adv
          uci set gluon.mesh_batman_adv.hop_penalty=20
          uci commit
      
      `/etc/config/gluon` config section:
      
          config mesh_batman_adv 'mesh_batman_adv'
          	option hop_penalty '20'
      
      Fixes: #1942
      Unverified
      778bf905
  12. Nov 24, 2019
  13. Nov 23, 2019
  14. Nov 07, 2019
  15. Oct 29, 2019
  16. Sep 25, 2019
  17. Sep 21, 2019
    • Linus Lüssing's avatar
      Revert "gluon-mesh-batman-adv: reenable batman-adv multicast optimizations" · 302a7951
      Linus Lüssing authored
      This reverts commit 9b1eb40f.
      
      With the batman-adv v2019.2 upgrade reverted (c1a77339), the batman-adv
      multicast-to-multi-unicast feature is not available yet. Without that it is
      going to be very unlikely of the batman-adv multicast optimizations to
      take effect. E.g. some outdated nodes would disable it.
      
      To avoid confusion and diversion with a few communities having it enabled
      and most implicitly deactivated, just deactivate it for all for now
      until batman-adv is updated to v2019.2 or greater again.
      302a7951
  18. Aug 22, 2019
  19. Jun 18, 2019
  20. Jun 16, 2019
  21. Jun 07, 2019
  22. Apr 28, 2019
  23. Apr 16, 2019
  24. Apr 08, 2019
    • Sven Eckelmann's avatar
      gluon-mesh-batman-adv: Save if metrics chose neighbor as own best nexthop · cef21e58
      Sven Eckelmann authored
      
      The commit ee63ed42fe6c ("gluon-mesh-batman-adv: List neighbors with
      non-best direct link") removed the check whether a neighbor has the
      BATADV_ATTR_FLAG_BEST set. But consumers may still want to filter out or
      mark neighbors which don't have this flag set. To assist with such a
      feature, enhance the neighbor object with an extra boolean "best" attribute
      which stores whether the BATADV_ATTR_FLAG_BEST was found or not.
      
      Reported-by: default avatarVincent Wiemann <webmaster@codefetch.de>
      cef21e58
    • Sven Eckelmann's avatar
      gluon-mesh-batman-adv: List neighbors with non-best direct link · ec72d30b
      Sven Eckelmann authored
      Links between two direct neighbors are not always the best route between
      these devices. The flag BATADV_ATTR_FLAG_BEST would not be set for these
      originator entries and the respondd module would just ignore this entry.
      
      This causes missing links in meshviewer and similar tools. And when the
      link quality is nearly equal and but fluctuates slightly, these links will
      from time to time appear and disappear on the map.
      
      Fixes: 2e0e24a9 ("announce neighbours using alfred/gluon-announce")
      ec72d30b
  25. Mar 16, 2019
    • Sven Eckelmann's avatar
      gluon-mesh-batman-adv: Only use local TT to count non-wifi clients (#1676) · b850fff7
      Sven Eckelmann authored
      
      The amount of local wifi clients is currently counted by two different
      ways:
      
      * asking the kernel wifi layer for the number of of clients on 2.4GHz and
        5GHz band
      * asking batman-adv for the number of non-timed out entries in the local
        translation table with WiFi flag
      
      The number of wifi24+wifi5 and the number of TT wifi client counts are
      reported via respondd to various consumers. The ffrgb meshviewer is
      displaying these values as:
      
      * 2,4 GHz: wifi24
      * 5 GHz: wifi5
      * other: (TT local wifi+non-wifi clients) - (wifi24 + wifi5)
      
      But the local translation table is holding entries much longer than the
      wifi layer. It can therefore easily happen that a wifi client disappears in
      the kernel wifi layer and batman-adv still has the entry stored in the
      local TT.
      
      The ffrgb meshviewer would then show this count in the category "other".
      This often results in confusions because "other" is usually for ethernet
      clients. And nodes with a frequently disappearing larger group of clients
      (near bus stations or larger intersections) often show most clients under
      the group "other" even when this devices doesn't have a LAN ethernet port.
      
      It is better for presentation to calculate the number of total wifi clients
      by summing up wifi24 + wifi5. And getting the number of total clients (non
      wifi + wifi) by adding the result of the previous calculation to the sum of
      non-wifi client in the local batman-adv translation table.
      
      Fixes: 89a9d813 ("gluon-mesh-batman-adv-core: Announce client count by frequency")
      Reported-by: default avatarPascal Wettin <p.wettin@gmx.de>
      b850fff7
  26. Feb 17, 2019
  27. Nov 18, 2018
  28. Nov 17, 2018
  29. Sep 01, 2018
  30. Jul 22, 2018
    • Sven Eckelmann's avatar
      gluon-client-bridge: Revert "move IPv4 local subnet route to br-client (#1312)" · 3ef28a46
      Sven Eckelmann authored
      The commit b3762fc6 ("gluon-client-bridge: move IPv4 local subnet route
      to br-client (#1312)") moves the IPv4 prefix from the local-port interface
      to br-client. A client requesting an IPv4 connection to the IPv4 anycast
      address of the node (the device running gluon) will create following
      packets:
      
      1. ARP packet from client to get the MAC of the mac address of the anycast
         IPv4 address
      2. ARP reply from node to client with the anycast MAC address for the IPv4
         anycast address
      3. IPv4 packet from client which requires reply (for example ICMP echo
         request)
      4. ARP request for the client MAC address for its IPv4 address in prefix4
         (done with the mac address of br-client and transmitted over br-client)
      5. IPv4 packet from node (transmitted over br-client with br-client MAC
         address) as reply for the client IPv4 packet (for example ICMP echo
         reply)
      
      The step 4 and 5 are problematic here because packets use the node specific
      MAC addresses from br-client instead of the anycast MAC address. The client
      will receive the ARP packet with the node specific MAC address and change
      their own neighbor IP (translation) table. This will for example break the
      access to the status page to the connected device or the anycast DNS
      forwarder implementation when the client roams to a different node.
      
      This reverts commit b3762fc6 and adds an
      upgrade code to remove local_node_route on on existing installations.
      3ef28a46
    • Sven Eckelmann's avatar
      gluon-mesh-batman-adv: Drop IPv4 anycast related packets from/to bat0 · fc59d520
      Sven Eckelmann authored
      The commit b3762fc6 ("gluon-client-bridge: move IPv4 local subnet route
      to br-client (#1312)") moves the IPv4 prefix from the local-port interface
      to br-client. A client requesting an IPv4 connection to the IPv4 anycast
      address of the node (the device running gluon) will create following
      packets:
      
      1. ARP packet from client to get the MAC of the mac address of the anycast
         IPv4 address
      2. ARP reply from node to client with the anycast MAC address for the IPv4
         anycast address
      3. IPv4 packet from client which requires reply (for example ICMP echo
         request)
      4. ARP request for the client MAC address for its IPv4 address in prefix4
         (done with the mac address of br-client and transmitted over br-client)
      5. IPv4 packet from node (transmitted over br-client with br-client MAC
         address) as reply for the client IPv4 packet (for example ICMP echo
         reply)
      
      The step 4 is extremely problematic here. ARP replies with the anycast IPv4
      address must not be submitted or received via bat0 - expecially not when it
      contains an node specific MAC address as source. When it is still done then
      the wrong MAC address is stored in the batadv DAT cache and ARP packet is
      maybe even forwarded to clients. This latter is especially true for ARP
      requests which are broadcast and will be flooded to the complete mesh.
      
      Clients will see these ARP packets and change their own neighbor IP
      (translation) table. They will then try to submit the packets for IPv4
      anycast addresses to the complete wrong device in the mesh. This will for
      example break the access to the status page to the connected device or the
      anycast DNS forwarder implementation. Especially the latter causes extreme
      latency when clients try to connect to server using a domain name or even
      breaks the connection setup process completely. Both are caused by the
      unanswered DNS requests which at first glance look like packet loss.
      
      An node must therefore take care of:
      
      * not transmitting ARP packets related to the anycast IPv4 address over
        bat0
      * drop ARP packets related to the anycast IPv4 when they are received on
        bat0 from a still broken node
      * don't accept ARP packets related to the anycast IPv4 replies on local
        node when it comes from bat0
      
      Fixes: b3762fc6 ("gluon-client-bridge: move IPv4 local subnet route to br-client (#1312)")
      fc59d520
  31. Apr 27, 2018
  32. Apr 13, 2018
Loading