* 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>
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>
The OpenWrt routing feed was tried to be merged together with the OpenWrt
package feed. But they ended up being rejected due to formalities like the
slightly different package template. Just moving to the OpenWrt package
based one should simplify similar approaches in the future.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This changes the package version string so it does not start
with "openwrt", but with the base version we are modifying:
So far: openwrt-2019.4-1
Now: 2019.4-openwrt-1
Since it's us modifying version 2019.4 (in this case), this order
is more convenient (and also closer to what the kernel version
string does).
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The batman-adv kernel module can be build without sysfs support. This will
stop the kernel module from creating the "mesh" directory. The alfred init
script must not depend on this folder to start the daemon up.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The alfred daemon allows to be started with multiple interfaces. The first
interface is used for communication and to calculate the source mac
address. The rest of the interfaces are only used for communication.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The Makefile defines the init-y variable but neither this Makefile nor
OpenWrt's common files use this variable.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
alfred isn't using any special rules in Build/Compile. It is cleaner to
directly use the global Build/Compile/Default instead of having a
functional similar copy in the package Makefile
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* bugs squashed:
- fixed detection of own IPv4 packets
- use manual IPv4 ARP requests to retrieve MAC of neighbors
Signed-off-by: Sven Eckelmann <sven@narfation.org>
OpenWrt is using a modified version of the software and these modifications
may introduce extra bugs (or behavior changes). It is also patched for
stable releases instead of switching to new releases. The revision should
therefore be added to the version number to make it easier understandable
which modified version the user may have installed.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The commit 45db0e6 introduced curly brackets which are not correct
syntax and thus broke the script.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Occationally /proc/net/if_inet6 contains interface IDs with
three digits. In this case, the regex in wait_for_ll_address()
does not work anymore and alfred is not starting.
This patch changes the evaluation so that fields are used instead
of the mere position by counting characters.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* synchronization of batman-adv netlink and packet headers
* mark licenses clearer, change batman-adv UAPI header from ISC to MIT
* coding style cleanups and refactoring
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* support interface validity checks on systems without debugfs
* remove debugfs check during batadv-vis startup
* allow out-of-order txend packets during transmissions
Signed-off-by: Sven Eckelmann <sven@narfation.org>
kmod-ipv6 is obsolete.
The symbol IPV6 is a global config symbol, don't select it because it
will override the user decision of IPV6 as all other package in base do
it. A select (+) will also create a recursive dependency error.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
From the CHANGELOG:
* add support for master servers to receive push_data packets with
foreign source addresses
* various code cleanups
* bugs squashed:
- ignore invalid EUI64 addresses
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>