]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Nest: Fix show route export maarten
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 9 Dec 2020 12:18:52 +0000 (13:18 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 9 Dec 2020 12:18:52 +0000 (13:18 +0100)
The showed route is a new structure as an export filter is applied on it
due to 'export' flag, then it is compared to the original best route to
see if it is the best one.

Bug already fixed in master branch.

nest/rt-show.c

index 5d112979081ae7120b5b529b7f1f5930ec79295e..935e19d8c270ccdf080abf0d10cf3f18720b3ee2 100644 (file)
@@ -29,12 +29,11 @@ rt_show_table(struct cli *c, struct rt_show_data *d)
 }
 
 static void
-rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tmpa)
+rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tmpa, int primary)
 {
   byte from[IPA_MAX_TEXT_LENGTH+8];
   byte tm[TM_DATETIME_BUFFER_SIZE], info[256];
   rta *a = e->attrs;
-  int primary = (e->net->routes == e) && rte_is_valid(e);
   int mergable = d->show_mergable && !primary && rte_mergable(e->net->routes, e);
   int sync_error = (e->net->n.flags & KRF_SYNC_ERROR);
   void (*get_route_info)(struct rte *, byte *buf, struct ea_list *attrs);
@@ -180,7 +179,7 @@ rt_show_net(struct cli *c, net *n, struct rt_show_data *d)
        goto skip;
 
       if (d->stats < 2)
-       rt_show_rte(c, ia, e, d, tmpa);
+       rt_show_rte(c, ia, e, d, tmpa, (e->net->routes == ee) && rte_is_valid(e));
 
       d->show_counter++;
       ia[0] = 0;