]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes a new bug in BGP route ordering.
authorOndrej Zajicek <santiago@crfreenet.org>
Fri, 20 Jan 2012 15:20:03 +0000 (16:20 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Fri, 20 Jan 2012 15:20:03 +0000 (16:20 +0100)
proto/bgp/attrs.c
proto/bgp/packets.c

index 5a36878361cef1e22cbc3f6cb6774d516c0c64f1..4495c039bd0298aa222e22c2df029286844cad3b 100644 (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));
   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))
index 998abb7ba9622cf5e258f8933abd6ad6559c942d..d3e9b6a1257f23a358653f93a8d54a18f1137824 100644 (file)
@@ -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