Fixes a new bug in BGP route ordering.
This commit is contained in:
parent
2c5ca47ad4
commit
3ce1714279
2 changed files with 6 additions and 5 deletions
|
@ -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;
|
||||||
|
|
||||||
/*
|
|
||||||
if (e->u.bgp.suppressed)
|
|
||||||
buf += bsprintf(buf, " -");
|
|
||||||
*/
|
|
||||||
|
|
||||||
buf += bsprintf(buf, " (%d", e->pref);
|
buf += bsprintf(buf, " (%d", e->pref);
|
||||||
|
|
||||||
|
if (e->u.bgp.suppressed)
|
||||||
|
buf += bsprintf(buf, "-");
|
||||||
|
|
||||||
if (e->attrs->hostentry)
|
if (e->attrs->hostentry)
|
||||||
{
|
{
|
||||||
if (!rte_resolvable(e))
|
if (!rte_resolvable(e))
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue