Skip to content
Snippets Groups Projects
  1. Dec 07, 2024
  2. Jun 22, 2022
  3. Aug 12, 2021
  4. May 01, 2021
  5. 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
  6. Jun 13, 2020
  7. 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
  8. Nov 24, 2019
  9. Nov 23, 2019
  10. Nov 07, 2019
  11. Oct 29, 2019
  12. Sep 25, 2019
  13. Aug 22, 2019
  14. Jun 18, 2019
  15. Jun 16, 2019
  16. Apr 28, 2019
  17. Jul 22, 2018
    • 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
  18. Oct 03, 2017
  19. Aug 08, 2017
  20. Jul 19, 2017
  21. Jun 26, 2017
  22. Apr 12, 2017
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv: refactor interface management · e45c3033
      Matthias Schiffer authored
      We now create bat0 and primary0 independently of the lower mesh interfaces,
      making the whole setup a lot more robust. In particular:
      
      - we can't accidentially destroy primary0 because of concurrent setup and
        teardown runs of different interfaces
      - bat0 will always exist, even when no mesh interfaces are up (e.g. no link
        on wired mesh)
      - interfaces going down and up again will never tear down the whole of
        batman-adv
      - we can enable and disable bat0 independently of the lower interface
        states
      Unverified
      e45c3033
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv-*: unify into a single source package · 4ca67dcc
      Matthias Schiffer authored
      For simplicity, we don't use different MTUs for compat 14 and 15 anymore,
      there's no harm in using 1532 for batman-adv-legacy as well.
      Unverified
      4ca67dcc
  23. Aug 08, 2014
  24. Aug 04, 2014
  25. Jul 28, 2014
  26. Jul 20, 2014
  27. Jul 19, 2014
  28. Jul 16, 2014
  29. Jul 14, 2014
  30. Jul 13, 2014
    • Nils Schneider's avatar
      gluon-mesh-batman-adv: announce MAC of mesh ifaces · ae4c130c
      Nils Schneider authored
      This will make a node announce all MACs of its interfaces participating
      in the batman-adv mesh. This enables other nodes to associate the
      announced object with both the data reported by batadv-vis as well as a
      simple list of neighbours as output by `iw dev $IFACE station dump`.
      ae4c130c
  31. Jul 11, 2014
  32. Jul 10, 2014
  33. Jul 07, 2014
  34. Jun 10, 2014
  35. Jun 09, 2014
Loading