babeld: update to 1.10
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>
This commit is contained in:
parent
83774bf54a
commit
dc22d38f91
3 changed files with 29 additions and 46 deletions
|
@ -6,12 +6,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=babeld
|
PKG_NAME:=babeld
|
||||||
PKG_VERSION:=1.9.2
|
PKG_VERSION:=1.10
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
PKG_RELEASE:=$(AUTORELEASE)
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/
|
PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/
|
||||||
PKG_HASH:=154f00e0a8bf35d6ea9028886c3dc5c3c342dd1a367df55ef29a547b75867f07
|
PKG_HASH:=a5f54a08322640e97399bf4d1411a34319e6e277fbb6fc4966f38a17d72a8dea
|
||||||
|
|
||||||
PKG_MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>, \
|
PKG_MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>, \
|
||||||
Baptiste Jonglez <openwrt-pkg@bitsofnetworks.org>
|
Baptiste Jonglez <openwrt-pkg@bitsofnetworks.org>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
--- a/babeld.c
|
--- a/babeld.c
|
||||||
+++ b/babeld.c
|
+++ b/babeld.c
|
||||||
@@ -55,6 +55,8 @@ THE SOFTWARE.
|
@@ -54,6 +54,8 @@ THE SOFTWARE.
|
||||||
#include "rule.h"
|
#include "local.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
+#include "ubus.h"
|
+#include "ubus.h"
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
|
|
||||||
unsigned char myid[8];
|
unsigned char myid[8];
|
||||||
@@ -536,6 +538,9 @@ main(int argc, char **argv)
|
@@ -518,6 +520,9 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
init_signals();
|
init_signals();
|
||||||
rc = resize_receive_buffer(1500);
|
rc = resize_receive_buffer(1500);
|
||||||
if(rc < 0)
|
if(rc < 0)
|
||||||
@@ -635,6 +640,8 @@ main(int argc, char **argv)
|
@@ -613,6 +618,8 @@ main(int argc, char **argv)
|
||||||
FD_SET(local_sockets[i].fd, &readfds);
|
FD_SET(local_sockets[i].fd, &readfds);
|
||||||
maxfd = MAX(maxfd, local_sockets[i].fd);
|
maxfd = MAX(maxfd, local_sockets[i].fd);
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
rc = select(maxfd + 1, &readfds, NULL, NULL, &tv);
|
rc = select(maxfd + 1, &readfds, NULL, NULL, &tv);
|
||||||
if(rc < 0) {
|
if(rc < 0) {
|
||||||
if(errno != EINTR) {
|
if(errno != EINTR) {
|
||||||
@@ -703,6 +710,9 @@ main(int argc, char **argv)
|
@@ -680,6 +687,9 @@ main(int argc, char **argv)
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,22 +38,6 @@
|
||||||
if(reopening) {
|
if(reopening) {
|
||||||
kernel_dump_time = now.tv_sec;
|
kernel_dump_time = now.tv_sec;
|
||||||
check_neighbours_timeout = now;
|
check_neighbours_timeout = now;
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -11,11 +11,11 @@ LDLIBS = -lrt
|
|
||||||
|
|
||||||
SRCS = babeld.c net.c kernel.c util.c interface.c source.c neighbour.c \
|
|
||||||
route.c xroute.c message.c resend.c configuration.c local.c \
|
|
||||||
- disambiguation.c rule.c
|
|
||||||
+ disambiguation.c rule.c ubus.c
|
|
||||||
|
|
||||||
OBJS = babeld.o net.o kernel.o util.o interface.o source.o neighbour.o \
|
|
||||||
route.o xroute.o message.o resend.o configuration.o local.o \
|
|
||||||
- disambiguation.o rule.o
|
|
||||||
+ disambiguation.o rule.o ubus.o
|
|
||||||
|
|
||||||
babeld: $(OBJS)
|
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -o babeld $(OBJS) $(LDLIBS)
|
|
||||||
--- a/generate-version.sh
|
--- a/generate-version.sh
|
||||||
+++ b/generate-version.sh
|
+++ b/generate-version.sh
|
||||||
@@ -10,4 +10,4 @@ else
|
@@ -10,4 +10,4 @@ else
|
||||||
|
@ -64,15 +48,16 @@
|
||||||
+echo "#define BABELD_VERSION \"$version-ubus-mod\""
|
+echo "#define BABELD_VERSION \"$version-ubus-mod\""
|
||||||
--- a/configuration.c
|
--- a/configuration.c
|
||||||
+++ b/configuration.c
|
+++ b/configuration.c
|
||||||
@@ -41,6 +41,7 @@ THE SOFTWARE.
|
@@ -41,6 +41,8 @@ THE SOFTWARE.
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
#include "rule.h"
|
|
||||||
+#include "ubus.h"
|
|
||||||
|
|
||||||
|
+#include "ubus.h"
|
||||||
|
+
|
||||||
static struct filter *input_filters = NULL;
|
static struct filter *input_filters = NULL;
|
||||||
static struct filter *output_filters = NULL;
|
static struct filter *output_filters = NULL;
|
||||||
@@ -850,7 +851,8 @@ parse_option(int c, gnc_t gnc, void *clo
|
static struct filter *redistribute_filters = NULL;
|
||||||
|
@@ -849,7 +851,8 @@ parse_option(int c, gnc_t gnc, void *clo
|
||||||
strcmp(token, "daemonise") == 0 ||
|
strcmp(token, "daemonise") == 0 ||
|
||||||
strcmp(token, "skip-kernel-setup") == 0 ||
|
strcmp(token, "skip-kernel-setup") == 0 ||
|
||||||
strcmp(token, "ipv6-subtrees") == 0 ||
|
strcmp(token, "ipv6-subtrees") == 0 ||
|
||||||
|
@ -82,7 +67,7 @@
|
||||||
int b;
|
int b;
|
||||||
c = getbool(c, &b, gnc, closure);
|
c = getbool(c, &b, gnc, closure);
|
||||||
if(c < -1)
|
if(c < -1)
|
||||||
@@ -868,6 +870,8 @@ parse_option(int c, gnc_t gnc, void *clo
|
@@ -867,6 +870,8 @@ parse_option(int c, gnc_t gnc, void *clo
|
||||||
has_ipv6_subtrees = b;
|
has_ipv6_subtrees = b;
|
||||||
else if(strcmp(token, "reflect-kernel-metric") == 0)
|
else if(strcmp(token, "reflect-kernel-metric") == 0)
|
||||||
reflect_kernel_metric = b;
|
reflect_kernel_metric = b;
|
||||||
|
@ -102,15 +87,6 @@
|
||||||
int local_server_socket = -1;
|
int local_server_socket = -1;
|
||||||
struct local_socket local_sockets[MAX_LOCAL_SOCKETS];
|
struct local_socket local_sockets[MAX_LOCAL_SOCKETS];
|
||||||
int num_local_sockets = 0;
|
int num_local_sockets = 0;
|
||||||
@@ -80,7 +82,7 @@ write_timeout(int fd, const void *buf, i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-static const char *
|
|
||||||
+const char *
|
|
||||||
local_kind(int kind)
|
|
||||||
{
|
|
||||||
switch(kind) {
|
|
||||||
@@ -191,6 +193,8 @@ local_notify_neighbour(struct neighbour
|
@@ -191,6 +193,8 @@ local_notify_neighbour(struct neighbour
|
||||||
if(local_sockets[i].monitor)
|
if(local_sockets[i].monitor)
|
||||||
local_notify_neighbour_1(&local_sockets[i], neigh, kind);
|
local_notify_neighbour_1(&local_sockets[i], neigh, kind);
|
||||||
|
@ -138,10 +114,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
--- a/local.h
|
--- a/Makefile
|
||||||
+++ b/local.h
|
+++ b/Makefile
|
||||||
@@ -55,3 +55,4 @@ int local_read(struct local_socket *s);
|
@@ -10,10 +10,10 @@ CFLAGS = $(CDEBUGFLAGS) $(DEFINES) $(EXT
|
||||||
int local_header(struct local_socket *s);
|
LDLIBS = -lrt
|
||||||
struct local_socket *local_socket_create(int fd);
|
|
||||||
void local_socket_destroy(int i);
|
SRCS = babeld.c net.c kernel.c util.c interface.c source.c neighbour.c \
|
||||||
+const char * local_kind(int kind);
|
- route.c xroute.c message.c resend.c configuration.c local.c
|
||||||
|
+ route.c xroute.c message.c resend.c configuration.c local.c ubus.c
|
||||||
|
|
||||||
|
OBJS = babeld.o net.o kernel.o util.o interface.o source.o neighbour.o \
|
||||||
|
- route.o xroute.o message.o resend.o configuration.o local.o
|
||||||
|
+ route.o xroute.o message.o resend.o configuration.o local.o ubus.o
|
||||||
|
|
||||||
|
babeld: $(OBJS)
|
||||||
|
$(CC) $(CFLAGS) $(LDFLAGS) -o babeld $(OBJS) $(LDLIBS)
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "resend.h"
|
#include "resend.h"
|
||||||
#include "route.h"
|
#include "route.h"
|
||||||
#include "rule.h"
|
|
||||||
#include "source.h"
|
#include "source.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
@ -209,7 +208,7 @@ static int babeld_ubus_get_routes(struct ubus_context *ctx_local,
|
||||||
|
|
||||||
blob_buf_init(&b, 0);
|
blob_buf_init(&b, 0);
|
||||||
|
|
||||||
routes = route_stream(ROUTE_ALL);
|
routes = route_stream(0);
|
||||||
if (routes) {
|
if (routes) {
|
||||||
while (1) {
|
while (1) {
|
||||||
struct babel_route *route = route_stream_next(routes);
|
struct babel_route *route = route_stream_next(routes);
|
||||||
|
|
Loading…
Reference in a new issue