We don't need a thread parsing babeld if there is not enough memory to store the results. Print an error message in this case andcontinue without neighbour information in respondd data
After refactoring the respondd module to work with a separate thread,
handle_neighbour() is different in those two programs. A common
implemenation thus is impossible and the structure is removed.
This can be reverted after updating the package feed to something newer
than 080ba31eec2ff4c165ce5a1bb9d434ddd91bdb6b from 2019-04-30 and should
be in the upcoming openwrt release after 19.07
* open babel socket in its own event loop, allowing to monitor instead of dump
* keep state from monitor in json object, providing that to clients on
network on demand
* do not parse babel routes, instead use netlink to obtain nexthop
babeld still does not support limiting the data on the socket by object. When
that is merged, the load can be further reduced by limiting to neighbour
changes with a small change.
In addition this PR contains:
- split of gluon-respondd provider into multiple source files
- minor additional cleanups in gluon-mesh-babel respondd provider
(untested, as the babel respondd provider already doesn't compile prior
to these changes...)
log-file /dev/stderr is broken for babeld as it eats log messages for debug log.
This commit gets rid of the option. This allows -d N to be used as babeld command
line option.
Rename to respondd.c / respondd.so, gluon.mk expects these names. This way
we can remove the install code. The installed filename is changed to
gluon-mesh-babel.so, bringing it in line with out common naming scheme.