From 23b079043bea5899b49a750c4616aff5b332c50d Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Thu, 3 May 2018 16:02:29 +0200 Subject: [PATCH] Babel: Fix type of route entry router ID The router ID being assigned to routes was a uint, which discards the upper 32 bits. This also has the nice side effect of echoing the wrong router ID back to other routers. Thanks to Toke Hoiland-Jorgensen for the patch. --- proto/babel/babel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/babel/babel.c b/proto/babel/babel.c index 88c4711e..797a83d4 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -2133,7 +2133,7 @@ babel_rt_notify(struct proto *P, struct channel *c UNUSED, struct network *net, uint internal = (new->attrs->src->proto == P); uint rt_seqno = internal ? new->u.babel.seqno : p->update_seqno; uint rt_metric = ea_get_int(attrs, EA_BABEL_METRIC, 0); - uint rt_router_id = internal ? new->u.babel.router_id : p->router_id; + u64 rt_router_id = internal ? new->u.babel.router_id : p->router_id; if (rt_metric > BABEL_INFINITY) {