Skip to content
Snippets Groups Projects
  1. Dec 10, 2016
    • Matthias Schiffer's avatar
      gluon-client-bridge, gluon-mesh-batman-adv-core: switch roles of br-client and... · 8c4403ba
      Matthias Schiffer authored
      gluon-client-bridge, gluon-mesh-batman-adv-core: switch roles of br-client and local-node interfaces
      
      MAC and IP addresses are switched. This makes the gluon-client-bridge
      package more useful for different routing protocols that don't need a
      unique address on the client bridge.
      
      As a side effect, gluon-radvd is now using the next-node address, which had
      been considered before, but was dismissed to avoid having gluon-radvd
      depend on gluon-next-node and gluon-mesh-batman-adv. This will be useful
      for announcing default routes via gluon-radvd.
      
      One downside is that this introduces a minor dependency on batman-adv in
      gluon-respondd: the hotplug script that checked for the client interface
      before will now check for local-node. This doesn't really matter: for mesh
      protocols without a local-node interface, the check will do nothing (which
      makes sense, as there is no interface to bind to for mesh-wide respondd).
      Unverified
      8c4403ba
    • Matthias Schiffer's avatar
  2. Dec 09, 2016
    • Jan-Philipp Litza's avatar
      gluon-respondd: restart on state change of client iface · fcf3abd9
      Jan-Philipp Litza authored
      Because we unconditionally appended `-i br-client` to the command line of
      respondd, it wasn't restarted when br-client changed state. Now, we use a
      jsonfilter expression on the network.interface dump data, similar to how the
      other interface names are generated, and only add the interface to the argument
      list if it is up.
      fcf3abd9
  3. Dec 08, 2016
  4. Dec 03, 2016
  5. Sep 07, 2016
  6. Aug 30, 2016
  7. Aug 27, 2016
  8. Aug 22, 2016
    • Linus Lüssing's avatar
      gluon-mesh-batman-adv-core: reenable multicast snooping · 2a51d94f
      Linus Lüssing authored
      
      A few issues with the bridge snooping were identified and fixed
      upstream in OpenWRT:
      
      * "firewall: Allow IGMP and MLD input on WAN" (r45613)
      * "kernel: bridge: backport two snooping related patches" (r45783)
      * netifd: "bridge: Fix multicast_to_unicast feature by hairpin+isolate"
        (OW: "netifd: update to the latest version, adds multicast-to-unicast fixes" (r46719))
      * "kernel: bridge, multicast-to-unicast: assign src after pskb_may_pull()" (r46721)
      * "kernel: bridge, multicast-to-unicast: fix echoes on STA" (46765)
      
      These have very likely caused issues with the bridge snooping before,
      which led to disabling it in the past. Let's reenable the multicast
      snooping now that they were fixed for reduced multicast overhead on the
      wifi.
      
      Advantages are the following:
      
      This mildly reduces overhead on the mesh layer. And significantly reduces
      overhead on the AP interface and therefore significantly increases
      available airtime (the currently most significant scalability bottleneck).
      
      Secondly removes an easy, often accidental node-local Denial-of-Service
      vector based on multicast flooding / streaming.
      
      Thirdly, makes node-local multicast streaming feasible.
      
      Finally should noticably increase battery life of mobile devices.
      
      Note: bridge querier is disabled for br-wan. We want to avoid becoming
      too "bossy"/"noisy" on a foreign network.
      
      Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
      2a51d94f
    • T-X's avatar
      gluon-mesh-batman-adv-core: disable bridge port learning on bat0 (#780) · d5829d87
      T-X authored
      
      The mesh side has become fairly huge in many communities. Up to
      a few thousand entries can currently be found in the forwarding
      database (fdb) of a bridge for its bridge port bat0.
      
      The bridge fdb is kind of redundant to the batman-adv global translation
      table here. Therefore this patch tries to reduce memory footprint by
      following an approach similar to the IGMP/MLD split patchset approach:
      
      Make the bridge oblivious not only regarding multicast listeners towards
      the mesh but with this patch unicast hosts on the mesh, too.
      
      If the destination of an ethernet frame is known by the bridge to be a
      local one, then the frame is forwarded to the according port. If it is
      unknown, then the frame is forwarded to the wifi AP interface and bat0.
      
      mac80211 and batman-adv then know whether to drop or forward a frame
      further through their own book-keeping.
      
      Note that unicast-flood is not disabled for the wifi AP bridge port, nor
      is learning disabled on the wifi AP. This is mainly to keep the
      configuration in UCI and according setup scripts simple ;). However, not
      disalbling unicast-flood on the wifi AP interface might also give a
      minor latency improvement for newly joining wifi clients.
      
      Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
      d5829d87
  9. Jul 27, 2016
  10. Jul 26, 2016
  11. Jul 20, 2016
  12. Jul 19, 2016
  13. Jul 10, 2016
  14. Jun 02, 2016
  15. May 26, 2016
    • Jan-Philipp Litza's avatar
      respondd modules: Use proper formatting of doubles · f7eda938
      Jan-Philipp Litza authored
      Most doubles that are delivered via respondd have limited input
      precision, but are converted with up to 17 digits of precision. That can
      cause ugly blowups like 0.2800000000000001 in the output, which is
      avoided by specifying better format strings (like "%.2f" in most cases).
      f7eda938
  16. May 13, 2016
  17. Apr 27, 2016
    • Matthias Schiffer's avatar
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv-core: make mesh_lan config a bridge · 937fe715
      Matthias Schiffer authored
      There are a few devices which have more than one LAN interface (for example
      some revision of the TL-WR941ND, which uses a DSA-based switch, so each
      switch port has its own netdev.) On these devices we need a bridge for
      mesh-on-lan (as the alternative of adding them to batman-adv individually
      would need too many MAC addresses.)
      937fe715
    • lemoer's avatar
      Change MAC schema generation (#715) · c73a12e0
      lemoer authored
      While ath9k/ath10k devices can supprt VIFs with any combination of MAC addresses, there are also adapters which have a hardware MAC filter which only allows a few bits to differ. This commit changes the addresses of all VIFs to ony differ in the last 3 bits, which is required to support many Ralink/Mediatek based WLAN adapters.
      
      Technically, the new addresses are generated by calculating an MD5 hash of the primary MAC address and using a part of this hash as a prefix for the MAC addresses.
      
      The addresses (BSSIDs) of the AP VIFs are also reused for the LAN and WAN interfaces in mesh-on-LAN/WAN mode to reduce the number of needed addresses, and thus reduce the chance of collisions. This is not a problem as the MAC addresses of the AP VIFs are never used except as BSSID, and thus not seen by routing protocols like batman-adv.
      
      Fixes #648
      
      [Matthias Schiffer: rewrote commit message]
      c73a12e0
  18. Apr 24, 2016
  19. Apr 02, 2016
  20. Mar 10, 2016
  21. Mar 08, 2016
  22. Feb 16, 2016
  23. Feb 08, 2016
  24. Feb 02, 2016
  25. Dec 18, 2015
  26. Nov 18, 2015
    • Matthias Schiffer's avatar
      gluon-mesh-batman-adv-core: keep disabled state even when the mesh interface... · 0335ce10
      Matthias Schiffer authored
      gluon-mesh-batman-adv-core: keep disabled state even when the mesh interface section name is changed
      
      Is makes sense to always look for both ibss_radio* and mesh_radio* sections
      to determine if the meshing should be enabled when regenerating these
      sections. Doing this, the disabled state will survive updates changing the
      section name (either updating from pre-2015.2 while keeping IBSS, or
      changing from IBSS to 11s or vice-versa).
      
      If both ibss_radio* and mesh_radio* sections exist, the disabled state will
      be kept correctly for each section, the behaviour is changed only when
      creating a section that didn't exist before.
      
      Fixes #549
      0335ce10
Loading