- Dec 10, 2016
-
-
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).
-
Matthias Schiffer authored
-
- Dec 09, 2016
-
-
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.
-
- Dec 08, 2016
-
-
Christof Schulze authored
-
- Dec 03, 2016
-
-
Matthias Schiffer authored
Fixes #941
-
- Sep 07, 2016
-
-
Matthias Schiffer authored
Fixes #834
-
Matthias Schiffer authored
Fixes #842
-
Matthias Schiffer authored
gluon-client-bridge: add LAN interfaces to client bridge by default (instead of doing this in the batman-adv-specific scripts) This allows to weaken the gluon-mesh-batman-adv-core dependency of gluon-luci-portconfig to gluon-client-bridge.
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
Matthias Schiffer authored
-
- Aug 30, 2016
-
-
Matthias Schiffer authored
Switch to: 1. WAN 2. LAN 3. Mesh VPN As WAN and LAN are setup in gluon-mesh-batman-adv-core (and will be moved to gluon-core), while the mesh VPN has its own package, giving WAN and LAN the first indices is preferable.
-
- Aug 27, 2016
-
-
kb-light authored
-
- Aug 22, 2016
-
-
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:
Linus Lüssing <linus.luessing@c0d3.blue>
-
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:
Linus Lüssing <linus.luessing@c0d3.blue>
-
- Jul 27, 2016
-
-
Matthias Schiffer authored
-
- Jul 26, 2016
-
-
Christof Schulze authored
The arguments are now provided by gluon-mesh-batman-adv-core, so gluon-radvd can be used with other mesh protocols. [Matthias Schiffer: removed PROVIDES dependency]
-
- Jul 20, 2016
-
-
Matthias Schiffer authored
Some drivers (mt76) don't support arbitrary MAC addresses. Use the addresses provided by the driver (avoiding the primary address) by default, but fall back to our has-based scheme when the driver doesn't provide (enough) addresses.
-
Matthias Schiffer authored
-
- Jul 19, 2016
-
-
Matthias Schiffer authored
Accidentially forgot to commit this. The sleep is necessary so netifd can actually stop the WLAN interfaces after `wifi down`.
-
Jan-Tarek Butt authored
[Matthias Schiffer: - improve commit message - add pidof check - also call `wifi down` ]
-
- Jul 10, 2016
-
-
Jan-Tarek Butt authored
-
- Jun 02, 2016
-
-
Thomas Weißschuh authored
-
- May 26, 2016
-
-
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).
-
- May 13, 2016
-
-
Matthias Schiffer authored
Lua's tables are 1-based, so we must decrement the index by 1 to get the desired MAC addresses. By not doing this, the second IBSS interface would get the address with index 8, but only indices 0..7 are available. Fixes: c73a12e0
-
- Apr 27, 2016
-
-
Matthias Schiffer authored
-
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.)
-
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]
-
- Apr 24, 2016
-
-
Matthias Schiffer authored
It is not used anymore.
-
- Apr 02, 2016
-
-
Matthias Schiffer authored
Avoid commiting configs inbetween to decrease number of flash writes. Fixes #714.
-
- Mar 10, 2016
-
-
Linus Lüssing authored
We are mostly dealing with the 2.4GHz crap-band here, so increasing the IGMP/MLD robustness parameter to three to be able to compensate for up to two consecutive instead of just one lost packet. Signed-off-by:
Linus Lüssing <linus.luessing@c0d3.blue>
-
Linus Lüssing authored
There are some devices not acting properly to roaming events, in that they do not timely reissue IGMP/MLD reports after reconnecting. To compensate for that this commit reduces the query interval from 125 seconds to 20 and the query response interval from 20 seconds to 5. This reduces a timeout to 20+5 seconds in the worst-case (12.5s average) after a roaming event for such broken devices. This should be below the 30s "impatient user threshold" and below any connection timeout. Until the bridge multicast snooping + querier gets re-enabled this is a no-op. Signed-off-by:
Linus Lüssing <linus.luessing@c0d3.blue>
-
- Mar 08, 2016
-
-
Matthias Schiffer authored
This include wasn't actually missing, but well hidden behind the iwinfo.h include. Make this more obvious.
-
Linus Lüssing authored
An IGMP/MLD domain split will prevent us from being able to track multicast listeners on other nodes. Therefore we need to always hand any multicast packets we received from local clients to batman-adv. With bridge multicast snooping disabled, the current setting in Gluon, this is already the case. However, in preparation to enabling multicast snooping, we need to enforce forwarding towards batman-adv by setting the bridge port option "multicast_router" to 2. Signed-off-by:
Linus Lüssing <linus.luessing@c0d3.blue>
-
- Feb 16, 2016
-
-
Matthias Schiffer authored
Ethernet links provide transitive connectivity in all but very unusual setup, enable mesh_no_rebroadcast to reduce load for devices on links with many nodes. Fixes #652
-
- Feb 08, 2016
-
-
Matthias Schiffer authored
Should be redundant after 0bd0df6f
-
- Feb 02, 2016
-
-
Matthias Schiffer authored
-
Matthias Schiffer authored
gluon-announced and gluon-announce are merged to gluon-respondd.
-
- Dec 18, 2015
-
-
Matthias Schiffer authored
-
- Nov 18, 2015
-
-
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
-