diff options
Diffstat (limited to 'proto/bgp')
-rw-r--r-- | proto/bgp/attrs.c | 7 | ||||
-rw-r--r-- | proto/bgp/packets.c | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index 5a368783..4495c039 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -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)); u32 origas; - /* + buf += bsprintf(buf, " (%d", e->pref); + if (e->u.bgp.suppressed) - buf += bsprintf(buf, " -"); - */ + buf += bsprintf(buf, "-"); - buf += bsprintf(buf, " (%d", e->pref); if (e->attrs->hostentry) { if (!rte_resolvable(e)) diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index 998abb7b..d3e9b6a1 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -906,6 +906,7 @@ bgp_do_rx_update(struct bgp_conn *conn, rte *e = rte_get_temp(rta_clone(a)); e->net = net_get(p->p.table, prefix, pxlen); e->pflags = 0; + e->u.bgp.suppressed = 0; rte_update(p->p.table, e->net, &p->p, &p->p, e); } else @@ -1024,6 +1025,7 @@ bgp_do_rx_update(struct bgp_conn *conn, rte *e = rte_get_temp(rta_clone(a)); e->net = net_get(p->p.table, prefix, pxlen); e->pflags = 0; + e->u.bgp.suppressed = 0; rte_update(p->p.table, e->net, &p->p, &p->p, e); } else |