]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Babel: Fix type of route entry router ID
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Thu, 3 May 2018 14:02:29 +0000 (16:02 +0200)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Thu, 3 May 2018 14:02:29 +0000 (16:02 +0200)
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

index 88c4711e5b9436b89f79f0beef17ec35fa685d95..797a83d4209aeaa56da36a6c5e67929b8127d880 100644 (file)
@@ -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)
     {