From: Ondrej Zajicek (work) Date: Wed, 24 Oct 2018 14:24:27 +0000 (+0200) Subject: Nest: Change preference to lower-is-better X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=668be0ffb32630c57bdd202a02f167d5fffd2322;p=thirdparty%2Fbird.git Nest: Change preference to lower-is-better --- diff --git a/nest/proto.c b/nest/proto.c index 15d6f4de6..b22f6d18f 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -483,7 +483,7 @@ channel_config_new(const struct channel_class *cc, const char *name, uint net_ty cf->net_type = net_type; cf->ra_mode = RA_OPTIMAL; - cf->preference = proto->protocol->preference; + cf->preference = 250 - proto->protocol->preference; add_tail(&proto->channels, &cf->n); diff --git a/nest/route.h b/nest/route.h index c52b75921..3af86c38e 100644 --- a/nest/route.h +++ b/nest/route.h @@ -666,6 +666,7 @@ extern struct protocol *attr_class_to_protocol[EAP_MAX]; /* * Default protocol preferences + * (effective values are 250-X of these) */ #define DEF_PREF_DIRECT 240 /* Directly connected */ diff --git a/nest/rt-table.c b/nest/rt-table.c index 293138d12..5a0ef9143 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -335,9 +335,9 @@ rte_better(rte *new, rte *old) if (!rte_is_valid(new)) return 0; - if (new->pref > old->pref) - return 1; if (new->pref < old->pref) + return 1; + if (new->pref > old->pref) return 0; if (new->attrs->src->proto->proto != old->attrs->src->proto->proto) { diff --git a/proto/babel/babel.c b/proto/babel/babel.c index 88c4711e5..cb5bb7071 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -664,7 +664,7 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e) rte *rte = rte_get_temp(a); memset(&rte->u.babel, 0, sizeof(rte->u.babel)); rte->pflags = 0; - rte->pref = 1; + rte->pref = 65535; e->unreachable = 1; rte_update2(c, e->n.addr, rte, p->p.main_source);