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>
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>
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>
21 April 2020: babeld-1.9.2
* Fixed two issues that could cause IPv4 routes to be represented
incorrectly, with a range of confusing symptoms. Thanks to
Fabian Bläse.
* Fixed incorrect parsing of TLVs with an unknown Address Encoding.
Thanks to Théophile Bastian.
* Fixed access to mis-aligned data structure. Thanks to Antonin Décimo.
Signed-off-by: Fabian Bläse <fabian@blaese.de>
20 August 2019: babeld-1.9.1
* Fixed a crash that could happen when unicast and RTT estimation are
both enabled on an interface. Thanks to Dave Taht.
* Fixed compilation under BSD. Thanks to Dave Taht.
4 August 2019: babeld-1.9.0
* Reworked buffering of unicast packets to use a per-neighbour buffer
rather than a single buffer per interface. This makes unicast as
efficient as multicast, at the cost of slightly higher memory usage.
* Added option "unicast" that allows sending most TLVs over unicast.
This is necessary for the DTLS extension.
* Implemented parsing of unicast Hellos. This makes it possible to
interoperate with neighbours that only speak unicast (e.g. over some
kinds of tunnels that only do unicast).
* Implemented sending of unscheduled unicast Hellos. This makes the
RTT extension work over unicast too.
* Reworked the xroute data structures to use binary search and
linear-time comparison.
* Don't attempt to modify the rp_filter sysctl if it already has the
desired value; this makes it possible to run babeld in an
unpriviledged container. Thanks to Christof Schulze.
* Reinstated logging of late hellos. Thanks to Dave Taht.
* Don't send wildcard requests or Hellos to newish nodes. This makes
acquisition of new neighbours slower, but drastically reduces noise at
startup. Thanks to Teco Boot.
* Remove an arbitrary limit on the number of interfaces. Thanks to
Christof Schulze.
* Removed class E from martian filter. Thanks to Dave Taht.
* Added the ability to set the preferred source address in install filters.
Thanks to Killian Lufau.
* Fixed a number of read-only buffer overflows. Thanks to Leo Stefanesco.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This applies some style improvements to make this ready for
migration to openwrt/packages.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Changes:
* Fixed a bug that caused confustion between learned routes and
imported routes (thanks to Fabian Bläse).
* Fixed a bug that prevented install filters from being evaluated
(thanks to Killian Lufau).
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
9 November 2018: babeld-1.8.4
* Fixed a bug that discarded pipelined commands received on the local
configuration interface.
* Added the per-interface option rfc6126-compatible.
Signed-off-by: Robert Marko <robimarko@gmail.com>
24 September 2018: babeld-1.8.3
* Fixed a read-only two byte buffer overflow in the packet parser.
This is a read-only overflow, and hence most probably not exploitable.
* Fixed an issue with creating unreachable routes on recent kernels
(4.16 and up). Thanks to Christof Schulze.
* Notice interface changes faster by listening to more netlink events.
Thanks to Christof Schulze.
* Fixed a local interface issue when an interface has no link-local
address. Thanks to Christof Schulze.
Also, the init script was edited to kill babeld on stop; restart works properly now, as well.
Signed-off-by: Michael Adams <unquietwiki@gmail.com>
This is a very basic cleanup, several packages needs more work
but this at least drops git for https and removes the use of
PKG_MD5SUM and some minor fixes.
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
It makes the init script more readable. It has been more than two years
since babeld 1.5.1, let's hope nobody is still using the old
(undocumented) option names.
Incidentally, this commit fixes support for the "conf_dir" option,
introduced by ac643416dc ("babeld: allow changing alternative
configuration file and directory"). The default value of $OTHERCONFIGDIR
was always used, because the variable was used *before* it was (possibly)
redefined when parsing the UCI config.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
There is a HTTP redirection in place from the old URL to the new URL, but
better change it now than waiting for the redirection to disappear.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
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>
16 June 2015: babeld-1.6.1.
* Fixed a buffer overflow in zone_equal. This is probably not
exploitable, but might cause incorrect routing tables in the presence
of source-specific routing.
* Added support for defaulting ipv6-subtrees automatically based on the
kernel version.
* Fixed compilation under musl.
Signed-off-by: Gabriel Kerneis <kerneis@google.com>
14 April 2014: babeld-1.6.0
* Added support for source-specific routing. Thanks to Matthieu Boutier.
* Added support for reflecting metrics as kernel priorities. Thanks to
Pierre Pfister.
* Worked around a Linux kernel bug with an infinite EAGAIN loop. Thanks
to Dave Taht.
* Changed wildcard updates to not set flag 0x40. Reported by Markus
Stenberg.
* Made ipv6-subtrees a runtime option. Thanks to Matthieu Boutier.
Signed-off-by: Gabriel Kerneis <kerneis@google.com>
22 May 2014: babeld-1.5.0
* Added support for an RTT-based metric -- see the description of
"enable-timestamps" in the manual page. This work was done by
Baptiste Jonglez with help from Matthieu Boutier.
- Update maintainer email address
- Wait for babel to die in init script (avoid race-condition on restart)
Signed-off-by: Gabriel Kerneis <gabriel@kerneis.info>