Skip to content
Snippets Groups Projects
  1. Dec 16, 2020
  2. Jun 13, 2020
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv: do not delete bat0 during hardif teardown (#2057) · 39267179
      Matthias Schiffer authored
      With very bad timing, it is possible that the teardown script of a
      gluon_mesh interface runs when bat0 was just created, but primary0 is not
      yet added to it. Although there is no hardif to remove in this case,
      bat0 will still be deleted, because there is no hardif in bat0.
      
      Disable the interface removal logic by passing `-M` to `batctl interface`.
      
      (cherry picked from commit 92647cd4)
      39267179
  3. May 12, 2020
  4. 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
      778bf905
  5. Nov 24, 2019
  6. Nov 23, 2019
  7. Nov 07, 2019
  8. Oct 29, 2019
  9. Sep 25, 2019
  10. 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
  11. Aug 22, 2019
  12. Jun 18, 2019
  13. Jun 16, 2019
  14. Jun 07, 2019
  15. Apr 28, 2019
  16. Apr 16, 2019
  17. 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
  18. 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
  19. Feb 17, 2019
  20. Nov 18, 2018
  21. Nov 17, 2018
  22. Sep 01, 2018
  23. 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
  24. Apr 27, 2018
    • Matthias Schiffer's avatar
      gluon-core: set VXLAN/legacy mode in site config · 1f7ed28b
      Matthias Schiffer authored
      In multidomain setups, VXLAN is enabled by default, but can be disabled in
      domain configs using the mesh/vxlan option. In single domain setups, the
      mesh/vxlan option is mandatory.
      
      The UCI option for legacy mode is removed.
      
      Fixes #1364
      1f7ed28b
  25. Apr 13, 2018
  26. Mar 11, 2018
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv: increase bridge multicast querier robustness to 9 · c80c294b
      Matthias Schiffer authored
      The RFC standard multicast querier interval is 120s. Our querier uses in
      interval of 20s for better support of roaming clients, but our robustness
      setting of 3 leads to external queriers using the standard interval to be
      timeout after only 60s, leading to frequent "querier appeared/disappeared"
      messages. Increase robustness so that external queriers with any interval
      <180s are supported.
      c80c294b
  27. Mar 08, 2018
  28. Mar 07, 2018
Loading