From: Maria Matejka Date: Fri, 22 Jul 2022 13:48:20 +0000 (+0200) Subject: Fixed a rarely used part of Babel: comparing two routes in table by their metric X-Git-Tag: v2.0.11~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=432dfe3b9b97062be243609d69e0f49bdb0bcaf6;p=thirdparty%2Fbird.git Fixed a rarely used part of Babel: comparing two routes in table by their metric --- diff --git a/proto/babel/babel.c b/proto/babel/babel.c index 7ea1aba89..ecfd2763d 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -2338,8 +2338,8 @@ babel_rt_notify(struct proto *P, struct channel *c UNUSED, struct network *net, static int babel_rte_better(struct rte *new, struct rte *old) { - uint new_metric = ea_find(new->attrs->eattrs, EA_BABEL_SEQNO)->u.data; - uint old_metric = ea_find(old->attrs->eattrs, EA_BABEL_SEQNO)->u.data; + uint new_metric = ea_get_int(new->attrs->eattrs, EA_BABEL_METRIC, BABEL_INFINITY); + uint old_metric = ea_get_int(old->attrs->eattrs, EA_BABEL_METRIC, BABEL_INFINITY); return new_metric < old_metric; }