Commit 3ce17142 authored by Ondřej Zajíček's avatar Ondřej Zajíček

Fixes a new bug in BGP route ordering.

parent 2c5ca47a
...@@ -1768,12 +1768,11 @@ bgp_get_route_info(rte *e, byte *buf, ea_list *attrs) ...@@ -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))
......
...@@ -906,6 +906,7 @@ bgp_do_rx_update(struct bgp_conn *conn, ...@@ -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, ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment