Fixes a new bug in BGP route ordering.

This commit is contained in:
Ondrej Zajicek 2012-01-20 16:20:03 +01:00
parent 2c5ca47ad4
commit 3ce1714279
2 changed files with 6 additions and 5 deletions

View file

@ -1768,12 +1768,11 @@ bgp_get_route_info(rte *e, byte *buf, ea_list *attrs)
eattr *o = ea_find(attrs, EA_CODE(EAP_BGP, BA_ORIGIN)); eattr *o = ea_find(attrs, EA_CODE(EAP_BGP, BA_ORIGIN));
u32 origas; u32 origas;
/* buf += bsprintf(buf, " (%d", e->pref);
if (e->u.bgp.suppressed) if (e->u.bgp.suppressed)
buf += bsprintf(buf, "-"); buf += bsprintf(buf, "-");
*/
buf += bsprintf(buf, " (%d", e->pref);
if (e->attrs->hostentry) if (e->attrs->hostentry)
{ {
if (!rte_resolvable(e)) if (!rte_resolvable(e))

View file

@ -906,6 +906,7 @@ bgp_do_rx_update(struct bgp_conn *conn,
rte *e = rte_get_temp(rta_clone(a)); rte *e = rte_get_temp(rta_clone(a));
e->net = net_get(p->p.table, prefix, pxlen); e->net = net_get(p->p.table, prefix, pxlen);
e->pflags = 0; e->pflags = 0;
e->u.bgp.suppressed = 0;
rte_update(p->p.table, e->net, &p->p, &p->p, e); rte_update(p->p.table, e->net, &p->p, &p->p, e);
} }
else else
@ -1024,6 +1025,7 @@ bgp_do_rx_update(struct bgp_conn *conn,
rte *e = rte_get_temp(rta_clone(a)); rte *e = rte_get_temp(rta_clone(a));
e->net = net_get(p->p.table, prefix, pxlen); e->net = net_get(p->p.table, prefix, pxlen);
e->pflags = 0; e->pflags = 0;
e->u.bgp.suppressed = 0;
rte_update(p->p.table, e->net, &p->p, &p->p, e); rte_update(p->p.table, e->net, &p->p, &p->p, e);
} }
else else