Killed bug in merging of dynamic attributes.
This commit is contained in:
parent
caab3bb374
commit
2f71123158
1 changed files with 6 additions and 4 deletions
|
@ -173,11 +173,12 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list *
|
||||||
p->rt_notify(p, net, NULL, old, NULL);
|
p->rt_notify(p, net, NULL, old, NULL);
|
||||||
else if (tmpa)
|
else if (tmpa)
|
||||||
{
|
{
|
||||||
while (tmpa->next)
|
ea_list *t = tmpa;
|
||||||
tmpa = tmpa->next;
|
while (t->next)
|
||||||
tmpa->next = new->attrs->eattrs;
|
t = t->next;
|
||||||
|
t->next = new->attrs->eattrs;
|
||||||
p->rt_notify(p, net, new, old, tmpa);
|
p->rt_notify(p, net, new, old, tmpa);
|
||||||
tmpa->next = NULL;
|
t->next = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
p->rt_notify(p, net, new, old, new->attrs->eattrs);
|
p->rt_notify(p, net, new, old, new->attrs->eattrs);
|
||||||
|
@ -763,6 +764,7 @@ rt_show_rte(struct cli *c, byte *ia, rte *e, struct rt_show_data *d, ea_list *tm
|
||||||
t = ea_append(t, a->eattrs);
|
t = ea_append(t, a->eattrs);
|
||||||
tmpa = alloca(ea_scan(t));
|
tmpa = alloca(ea_scan(t));
|
||||||
ea_merge(t, tmpa);
|
ea_merge(t, tmpa);
|
||||||
|
ea_sort(tmpa);
|
||||||
}
|
}
|
||||||
if (a->proto->proto->get_route_info)
|
if (a->proto->proto->get_route_info)
|
||||||
a->proto->proto->get_route_info(e, info, tmpa);
|
a->proto->proto->get_route_info(e, info, tmpa);
|
||||||
|
|
Loading…
Reference in a new issue