Commit Graph

44 Commits

Author SHA1 Message Date
Linus Lüssing
cb505a354a batman-adv: Introduce no noflood mark
This mark prevents a multicast packet being flooded through the whole
mesh. The advantage of marking certain multicast packets via e.g.
ebtables instead of dropping is then the following:

This allows an administrator to let specific multicast packets pass as
long as they are forwarded to a limited number of nodes only and are
therefore creating no burdon to unrelated nodes.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2021-05-01 22:33:59 +02:00
Linus Lüssing
b2add48d2a kernel: bridge: Implement MLD Querier wake-up calls / Android bug workaround
Implement a configurable MLD Querier wake-up calls "feature" which
works around a widely spread Android bug in connection with IGMP/MLD
snooping.

Currently there are mobile devices (e.g. Android) which are not able
to receive and respond to MLD Queries reliably because the Wifi driver
filters a lot of ICMPv6 when the device is asleep - including
MLD. This in turn breaks IPv6 communication when MLD Snooping is
enabled. However there is one ICMPv6 type which is allowed to pass and
which can be used to wake up the mobile device: ICMPv6 Echo Requests.

If this bridge is the selected MLD Querier then setting
"multicast_wakeupcall" to a number n greater than 0 will send n
ICMPv6 Echo Requests to each host behind this port to wake
them up with each MLD Query. Upon receiving a matching ICMPv6 Echo
Reply an MLD Query with a unicast ethernet destination will be sent
to the specific host(s).

Link: https://issuetracker.google.com/issues/149630944
Link: https://github.com/freifunk-gluon/gluon/issues/1832

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2020-10-08 20:06:24 +02:00
Matthias Schiffer
5b97d36c7e gluon-mesh-batman-adv: remove gluon-mesh-batman-adv-14 2019-09-25 21:57:52 +02:00
Linus Lüssing
011187e9f5
batman-adv: remove module autoload
Instead of unconditionally loading this module on boot the gluon_bat0
netifd protocol script will later take care of loading either the
batman-adv or batman-adv-legacy module, depending on the configured routing
algorithm in UCI.
2019-08-22 20:09:10 +02:00
Matthias Schiffer
c1a7733956
Revert "batman-adv: update to current openwrt-routing / batman-adv v2019.2"
This reverts commit 8dd13cbbca.

Fixes #1756
2019-06-20 20:53:29 +02:00
Matthias Schiffer
b41ee49aac
Revert "batctl: upgrade package to latest release 2019.2"
This reverts commit 3d3617ed2c.
2019-06-20 20:48:31 +02:00
Linus Lüssing
3d3617ed2c batctl: upgrade package to latest release 2019.2 2019-06-18 03:45:50 +02:00
Linus Lüssing
8dd13cbbca batman-adv: update to current openwrt-routing / batman-adv v2019.2
This updates the batman-adv OpenWrt package to the current version
provided in the master branch of the openwrt-routing packages
repository:

* e26096a batman-adv: Fix duplicated OGMs on NETDEV_UP
* 1ff00ee batman-adv: upgrade package to latest release 2019.2

Small difference to the original:

* Compat code for batadv_genl_dump_check_consistent()
* Compat code for cfg80211_sinfo_release_content()
* 0001-batman-adv-add-compat-hacks.patch kept
* batctl dependency kept removed
* config related files unchanged

The new config format was not backported yet to keep this patch small
and less invasive.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-06-07 15:16:40 +02:00
Linus Lüssing
a2bbc125b3 batctl: remove kmod-batman-adv dependency
This always pulls in the batman-adv compat 15 kernel module. However,
batctl works just as well with batman-adv-legacy (compat 14).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2019-04-16 12:03:20 +02:00
Matthias Schiffer
184dc54317
modules: update routing packages
2dfb22876414 batman-adv: add patches from 2018.1-maint 2018-06-03
2018-06-04 19:20:05 +02:00
Sven Eckelmann
e1a741be4f batman-adv: Fix best gw refcnt after netlink dump (#1411)
A reference to the best gateway is taken when the list of gateways in the
mesh is sent via netlink. This is necessary to check whether the currently
dumped entry is the currently selected gateway or not. This information is
then transferred as flag BATADV_ATTR_FLAG_BEST.

After the comparison of the current entry is done,
batadv_*_gw_dump_entry() has to decrease the reference counter again.
Otherwise the reference will be held and thus prevents a proper shutdown of
the batman-adv interfaces (and some of the interfaces enslaved in it).

Fixes: 899235a4a637 ("Merge pull request #241 from ecsv/batman-adv-2016.4-maint-2016-10-29")
Reported-by: Andreas Ziegler <dev@andreas-ziegler.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2018-06-03 14:37:59 +02:00
Matthias Schiffer
39c17c6a34
modules: update routing packages
0bf3b72c33d9 nat46: fixup PKG_MIRROR_HASH
23aa2e7b4afa nodogsplash2: Add NDS Restart Hook for Firewall (#369)
7ae81c8311ec cjdns: 20.1 -> 20.2
ff7b5da265e1 prince: version bump to v0.4
2f90fe406c58 miniupnpd: De-maintainering myself.
fdaa4cde3b2c bmx7: bump version
455a54207c84 batman-adv: upgrade package to latest release 2018.1
2e4937ea68f8 batctl: upgrade package to latest release 2018.1
a0eca40b0003 alfred: upgrade package to latest release 2018.1
015e5e99f2b6 bmx7: use configReaload on service reload
0ced8ec5a763 bmx7: keep bmx7 secret keys on sysupgrade
4bff0b3c65c5 cjdns: build fixes
7fc2fbdfc1b7 babeld: release 1.8.1
135bc605b4cf alfred: Support interface IDs with more than two digits
91e600e1cd9a bmx7: convert init script to use procd
86be0095b475 nodogsplash2: Add compatibility with mwan3 v2
17fccad969ea smcroute: Change download to HTTP
63cae8f571a6 bmx7: bump version
2018-05-04 20:35:42 +02:00
Matthias Schiffer
22cdd1d78e
batman-adv: add pending patches
Fixes checksum failures on TT version updates.

Fixes #1321
2018-03-16 20:11:35 +01:00
Linus Lüssing
7e404ac517 batman-adv: multicast TT fixes and cleanups
The first one adds a fix that might potentially result in multicast packet
loss once we would enable multicast_mode again.

The second one avoids some small but unnecessary overhead. More
importantly though, it is supposed to ease further multicast improvements
later (e.g. no need for a multicast sending node to determine overlap
between WANT_ALL_IPV4/6 flags and TT entries while on fast-path).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2018-03-07 10:10:32 +01:00
Matthias Schiffer
4d9c3c1c79
modules: update routing packages
3aaa772ef520 bmx7: bump version
ccd4210f0ba7 bmx7: add PKG_MIRROR_HASH
d6dcd0c75630 bmx6: add PKG_MIRROR_HASH
536782119f0a alfred: upgrade package to latest release 2018.0
6a6f5da5efd5 batctl: upgrade package to latest release 2018.0
3bb75b003563 batman-adv: upgrade package to latest release 2018.0
2f74073c209d bmx7: bump version to 58b3823262512a48f5174e6778b2368c55bd05d9
733e935f04fc cjdns: v20 -> v20.1
f0ee73aa2285 bmx7: bump version
21a6454d7226 bmx6: bump to latest upstream version
2018-03-07 08:45:52 +01:00
Matthias Schiffer
a9edd43693
Avoid unaligned memory accesses in VXLAN and batman-adv
Improves performance slightly.
2018-01-24 22:41:23 +01:00
Matthias Schiffer
4d4626f1c5
batman-adv: add fixes for packet checksum handling
Fixes "hw csum failure" log spam in batman-adv.
2018-01-23 12:14:29 +01:00
Matthias Schiffer
fbc11086c0
modules: update routing packages
Updates batman-adv and alfred to 2017.1. This also allows us to drop our
last batman-adv patch.
2017-05-30 11:54:42 +02:00
Matthias Schiffer
2adf67edad
Update routing packages (batman-adv v2016.5)
Also remove our own no_rebroadcast patch, as batman-adv v2016.5 now has a
more sophisticated rebroadcast suppression that should work automatically
in the most relevant cases.
2017-02-11 20:12:27 +01:00
Matthias Schiffer
9c93baf740
batman-adv: use kernel-specific PKG_BUILD_DIR
Fixes a build issue when switching targets.
2017-01-27 13:47:56 +01:00
Matthias Schiffer
7dce74c0f9
Refresh patches 2016-12-20 01:09:53 +01:00
Matthias Schiffer
a7d8409466
Update routing packages
This lifts batman-adv and alfred to version 2016.4.
2016-12-11 01:16:27 +01:00
Sven Eckelmann
4af46bdb9c batman-adv: import Linux 4.7 fixes
Introduce new fixes:

 * Avoid nullptr dereference in bla after vlan_insert_tag
 * Avoid nullptr dereference in dat after vlan_insert_tag
 * Avoid tt_req_node list put for unhashed entry
 * Fix orig_node_vlan leak on orig_node_release
 * Fix non-atomic bla_claim::backbone_gw access
 * Fix reference leak in batadv_find_router
 * Free last_bonding_candidate on release of orig_node

Also replace the gluon version of the speedyjoin patch with the one already
included in openwrt-routing.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-07-06 15:56:16 +02:00
Sven Eckelmann
93fe275000 batman-adv: Fix speedy join in gateway client mode
Speedy join only works when the received packet is either broadcast or an
4addr unicast packet. Thus packets converted from broadcast to unicast via
the gateway handling code have to be converted to 4addr packets to allow
the receiving gateway server to add the sender address as temporary entry
to the translation table.

Not doing it will make the batman-adv gateway server drop the DHCP response
in many situations because it doesn't yet have the TT entry for the
destination of the DHCP response.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2016-06-21 12:26:46 +02:00
Matthias Schiffer
04106989bb
Update routing packages
batman-adv & alfred 2016.2.
2016-06-16 06:03:09 +02:00
Matthias Schiffer
19242f4deb Remove all uses of batman-adv-visdata
Should be redundant after 0bd0df6f93
2016-02-08 20:58:28 +01:00
Matthias Schiffer
c523238f82 Update routing packages 2016-02-08 20:13:15 +01:00
Matthias Schiffer
73a818b896 alfred: use batman-adv-visdata 2015-12-18 17:46:24 +01:00
Matthias Schiffer
d432a0a214 alfred: not only wait for the interface, but also a link-local address 2015-08-09 18:13:45 +02:00
Matthias Schiffer
11bffa59db Update routing packages
This also updates batman-adv & alfred to 2015.1
2015-08-06 22:31:28 +02:00
Matthias Schiffer
397d56e317 batman-adv: fix patch ordering 2015-08-06 21:42:48 +02:00
Matthias Schiffer
b408e1c99e batman-adv: decrease maximum fragment size
This should workaround batman-adv's inability to deal with different MTUs
which need fragmentation.

Fixes #435
2015-08-06 21:31:46 +02:00
Matthias Schiffer
6c378d1726 batman-adv: refresh no_rebroadcast patch to apply to 2015.0 cleanly 2015-06-15 12:37:38 +02:00
Matthias Schiffer
ab10be9f50 We're on Chaos Calmer now 2015-05-22 01:09:19 +02:00
Matthias Schiffer
326143f502 batman-adv (compat 15): fix application of no_rebroadcast option 2015-04-02 20:24:42 +02:00
Matthias Schiffer
69c94b3f9f Update batman-adv and alfred to v2014.4 2015-01-07 16:48:51 +01:00
Matthias Schiffer
a766fb095d batman-adv (compat 15): add two more patches from the upstream 'maint' branch 2014-12-15 01:45:46 +01:00
Matthias Schiffer
db9376ed4a Update batman-adv (15) to v2014.3 2014-08-30 19:57:59 +02:00
Matthias Schiffer
80fd91d2b1 Re-introduce 'no_rebroadcast' option for batman-adv compat 15 2014-08-22 13:54:10 +02:00
Matthias Schiffer
f204ca87f0 Update routing repo to 14.07
This gets us an up-to-date alfred (and batman-adv 2014.x, as soon as we start to
support it).
2014-08-06 11:56:45 +02:00
Matthias Schiffer
4b3e21d5c7 Remove a now unused patch 2014-02-21 03:32:48 +01:00
Matthias Schiffer
bf414bcf65 packages/routing: alfred: adjust intervals 2014-01-18 21:54:29 +01:00
Matthias Schiffer
c3ddb2216f packages/routing: alfred: fix socket fd leak 2014-01-18 21:17:33 +01:00
Matthias Schiffer
d39fca1126 Add batman-adv no_rebroadcast patch from legacy firmware 2014-01-13 00:50:44 +01:00