mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
Route: moved rte_src pointer from rta to rte
It is an auxiliary key in the routing table, not a route attribute.
This commit is contained in:
@@ -65,12 +65,14 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o
|
||||
|
||||
if (new)
|
||||
{
|
||||
src = new->src;
|
||||
|
||||
a = alloca(rta_size(new->attrs));
|
||||
memcpy(a, new->attrs, rta_size(new->attrs));
|
||||
|
||||
a->cached = 0;
|
||||
a->hostentry = NULL;
|
||||
e = rte_get_temp(a);
|
||||
e = rte_get_temp(a, src);
|
||||
e->pflags = 0;
|
||||
|
||||
/* Copy protocol specific embedded attributes. */
|
||||
@@ -79,16 +81,14 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o
|
||||
|
||||
#ifdef CONFIG_BGP
|
||||
/* Hack to cleanup cached value */
|
||||
if (e->attrs->src->proto->proto == &proto_bgp)
|
||||
if (e->src->proto->proto == &proto_bgp)
|
||||
e->u.bgp.stale = -1;
|
||||
#endif
|
||||
|
||||
src = a->src;
|
||||
}
|
||||
else
|
||||
{
|
||||
e = NULL;
|
||||
src = old->attrs->src;
|
||||
src = old->src;
|
||||
}
|
||||
|
||||
src_ch->table->pipe_busy = 1;
|
||||
|
Reference in New Issue
Block a user