Commit 97d35a552ec5b6ddf7923dd2f9a8eb973526acea of musl introduced the
macros __LITTLE_ENDIAN and __BIG_ENDIAN in alltypes.h. These are pulled
into the compilation of batman-adv. This has the side effect that the
function is_multicast_ether_addr of etherdevice.h in Linux kernel is
compiled as the big endian version and so fails to work properly on
little endian devices.
This commits prevents pulling in header files of musl libc similar to
OpenWRT commit 9ac47ee46918c45b91f4e4d1fa76b1e26b9d57fe
Signed-off-by: Hendrik Borghorst <hendrikborghorst@gmail.com>
(cherry picked from commit 523821c195)
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The test builds are now requiring quilt refreshed patches instead of git
patches. Otherwise the build check will not even try to build something.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The plugin adds a possibility to filter out gateway HNAs. This can be
very handy e.g. for faulty nodes. A gateway can be taken out directly on
a central node and all traffic is then redirected. Also the underlying
smart gateways are adapted. Currently the link multiplier is often used
to control a faulty node, but it is not necessarily the best way to do
so.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit bdec65a6d9)
On a Netgear R7800, if ospf v2 or v3 is configured in bird.conf, it fails to start with this error:
Fri Jun 11 14:41:11 2021 daemon.info bird: Started
Fri Jun 11 14:41:11 2021 kern.err kernel: [ 3500.853248] Alignment trap: not handling instruction f44c0a1f at [<00035848>] Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.853283] 8<--- cut here ---
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.859363] Unhandled fault: alignment exception (0x801) at 0x007e0624
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.862443] pgd = 0bbef4fd
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.868821] [007e0624] *pgd=5d6ca835, *pte=5c40b75f, *ppte=5c40bc7f
The problem is due to a struct not being properly aligned on the ARMv7 architecture.
This patch fixes the problem by adding the "PACKED" macro to the affected struct. Note
that upstream may later fix this in another way, in which case this patch will not be required.
Signed-off-by: Matt Reeve <matt@mreeve.com>
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version adds new functionality, and fixes some issues
* Add - firewall passthrough mode for authenticated users [bluewave.net]
* Add - use configured debuglevel in authmon [bluewave.net]
* Add - automated log rotation and client_zone to binauth_log [bluewave.net]
* Add - increased timeout interval for file downloads [bluewave.net]
* Add - local interface to MeshZone and remove unneeded call to ip utility [bluewave.net]
* Add - log_mountpoint and max_log_entries options [bluewave.net]
* Add - config variables ext_interface and ext_gateway [bluewave.net]
* Add - Start initial download of remotes only if online [bluewave.net]
* Add - Router online/offline watchdog [bluewave.net]
* Fix - Segfault when gatewayfqdn is disabled [bluewave.net]
* Fix - missing clientmac when not using themespec [bluewave.net]
* Fix - some compiler warnings [bluewave.net]
* Fix - use configured value for webroot for remote image symlink to images folder [bluewave.net]
* Fix - remove refrences to login.sh in documentation and comments [bluewave.net]
* Fix - Prevent potential read overrun within the MHD page buffer [bluewave.net]
* Remove - legacy get_ext_iface() function [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
The network may crash on the SoCs, but the SoC itself does not. This
leads to a node no longer being accessible in a mesh network. If the
node is placed in a location that is not easily accessible, e.g. in a
high tower, it can cause a lot of problems. Therefore we check the
link-local connectivity on the configured interfaces.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Tested-by: Simon Polack <spolack+git@mailbox.org>
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
(cherry picked from commit 1088e65440)
This increases the amount of seconds to wait before a service restart
attempt from 5 to 15 seconds and allows unlimited retries. Olsrd
sometimes crashes together with a network interface and 5 seconds can
be too short to bring back up a crashed network interface, which is
required for olsrd to restart. It also adds the ability to configure
the wait time (respawn_timeout) and the number of retries
(respawn_retry).
Signed-off-by: Tobias Schwarz <info@tobias-schwarz.com>
(cherry picked from commit bc58bd99e8)
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version adds new functionality, improves performance, adds documentation and fixes an issue
* Add - new config options to ndsctl status [bluewave.net]
* Add - Readthedocs / man documentation for configuration options [bluewave.net]
* Add - Faster convergence of average rates to configured rate quotas [bluewave.net]
* Add - BinAuth parse authenticated client database for client data [bluewave.net]
* Add - Use heap allocation for http page buffer allowing large page sizes [bluewave.net]
* Fix - fail to serve downloaded images on custom themespec [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
This script originates from Freifunk Berlin. It prints a list of
all meshing neighbors known to olsrd on the command line.
Added: Error-checking for IPv4/IPv6-Hosts.
Signed-off-by: Martin Hübner <martin.hubner@web.de>
(cherry picked from commit eff944874c)
Should fix#691.
Sometimes the wifi interface is not ready before olsrd tries to access
it. This leads to warnings in the form of:
daemon.info olsrd: /etc/rc.d/S65olsrd: olsrd_write_interface()
Warning: Interface 'wireless0' not found, skipped
daemon.notice procd: /etc/rc.d/S65olsrd: olsrd: /etc/rc.d/S65olsrd:
olsrd_write_interface() Warning: Interface 'wireless0' not found, skipped
We make use of the "wait_for" procd command that allows us to wait for
the network before starting olsrd.
Tested-by: Noki
Signed-off-by: Nick Hainke <vincent@systemli.org>
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version fixes a compiler error, some compiler warnings and mutes a debug message
* Fix - Compiler error, missing mode in call to open() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to lockf() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to system() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to fgets() [bluewave.net]
* Fix - Remove debug message from call to get_client_interface library [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
The repository path changed and the information to manually add the feed
is outdated, since it enabled by default.
Also use Markdown to format the README since it looks much more
appealing.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 4bf9a5d5dc)
I am maintaining the ubus bindings and also the luci-app-babeld.
I am very glad that ubus is included and that is why I do not want
babeld maintainer to have extra work.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit e62b8b54b9)
25 April 2021: babeld-1.10
* Removed the disambiguation code: source-specific routing is no longer
supported for IPv4, and for IPv6 only on Linux 3.11 or later.
* Fixed an issue handling of retractions with no next hop, which caused
interoperability problems with BIRD. Thanks to Fabian Bläse.
* If skip-kernel-setup is set, we no longer disable the rp_filter, which
makes babeld work in containers. Thanks to Martin Weinelt.
Remove upstreamed part of ubus patch:
- local: make local_kind function accessible
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit dc22d38f91)
As a workaround for the glibc-fix the dependency on libgps was moved
to olsrd. However, only pud is using this library.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 27ac56adc6)
I am now the maintainer of olsrd. Add me also as maintainer in the
openwrt-routing feed.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit b455e1809a)
The sed is adding the package name as "PKGNAME/" and does not remove
the "/". That is why the buildchain currently fails.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Just copy .github from openwrt enabling:
- checking of formalities
- checking of build
- issue template
- pr template
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit d1ab87b7db)
* Allow to force of alfred startup when the interfaces don't work/exist (yet)
* coding style cleanups and refactoring
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* add various commands to print generic netlink replies as JSON
* coding style cleanups and refactoring
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The batman-adv netlink messages often contain the interface index and
interface name in the same message. This makes it easy for the receiver to
operate on the incoming data when it either needs to print something or
needs to operate on the interface index.
But one of the attributes was missing for:
* neighbor table dumps
* originator table dumps
* gateway list dumps
* query of hardif information
* query of vid information
The userspace therefore had to implement special workarounds using
SIOCGIFNAME or SIOCGIFINDEX depending on what was actually provided.
Providing both information simplifies the userspace code massively without
adding a lot of extra overhead in the kernel portion.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This version introduces major new functionality, some changes and fixes.
New Themed Splash pages are introduced, enabling rapid customisation. Theme placeholders can be populated from information provided in the config file. Remote files and image sources can be defined in the config file and these will be automatically downloaded as required.
Deprecated legacy code from previous versions has been removed.
Tested on OpenWrt, OpenSuse and Debian.
Signed-off-by: rob <rob@blue-wave.net>
- Just small reodering of some rows to be more consistent with packages feed
- Fix deprecated SPDX License Identifier
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit b38a46acd5)
- Removed all patches as they are now included in upstream release
- Removed --with-linux-headers option
(Fixes: configure: WARNING: unrecognized options: --with-linux-headers)
Changelog:
https://bird.network.cz/pipermail/bird-users/2021-March/015281.html
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit dcff996cbe)
This release fixes an issue where some firewall rules containing
the keyword "block" would cause openNDS to fail in startup.
Signed-off-by: Rob White <rob@blue-wave.net>
The alfred server always needs interfaces to operate on. But these
interfaces might not exist at the moment when the daemon process is
started. This situation stopped the startup process after the init scripts
waited for a longer period of polling the system state.
But alfred is able to deal with interfaces which disappeared at runtime but
existed at startup. To force a similar behavior for the alfred startup, the
parameter "--force" or "-f" is used. The extra polling code is therefore no
longer needed in the init scripts.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Alfred can be stopped during a (re)start or reload when:
* disabled = 1
* batman-adv interface is missing
* MAC based EUI64 IPv6 link-local address not set
It is assumed that procd detects that the procd instance definition
disappeared and the currently running instance must be stopped. But all
these checks were triggering an "exit" which then stopped the alfred init
script and the wrapper from /lib/functions/procd.sh. And thus procd was
never informed about the instances which should be changed.
The correct handling is to return the result of the function instead of
directly killing the init scripts.
Fixes: 45db0e60d2 ("alfred: use procd")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
babeld: adopt to upstream header-style
Instead of including the headerfiles that define the structs, we add
forward definitions to our headerfile.
Fixes warning:
ubus.h:67:32: warning: 'struct xroute' declared inside parameter list will not be visible outside of this definition or declaration
void ubus_notify_xroute(struct xroute *xroute, int kind);
^~~~~~
Signed-off-by: Nick Hainke <vincent@systemli.org>
babeld: fix compiler warnings
Fixes:
- "route_list_entry" points to "struct babel_route"
- "format_thousands" returns a string pointer
- "UBUS_METHOD_NOARG" wants a function returning an integer
Signed-off-by: Nick Hainke <vincent@systemli.org>
* babeld: send events via ubus
Send a notification via the ubus bus if we experience any changes in
neighbours, routes or xroutes.
The format looks like this:
{route,xroute,neighbour}.add: Object was added
{route,xroute,neighbour}.change: Object was changed
{route,xroute,neighbour}.flush: Object was flushed
If ubus_bindings is turned off, it will minimally effect performance,
since only an if-statement has to be evaluated.
If no subscriber is available, it will minimally change the performance,
since only an if-statmenet that checks for subscribers has to be
evaluated.
Signed-off-by: Nick Hainke <vincent@systemli.org>