Added extra argument to rt_update hook which contains a pointer to the
temporary attribute list.
This commit is contained in:
parent
75b84c34e3
commit
bb027be1e2
4 changed files with 5 additions and 4 deletions
|
@ -22,6 +22,7 @@ struct proto_config;
|
||||||
struct config;
|
struct config;
|
||||||
struct proto;
|
struct proto;
|
||||||
struct event;
|
struct event;
|
||||||
|
struct ea_list;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Routing Protocol
|
* Routing Protocol
|
||||||
|
@ -111,7 +112,7 @@ struct proto {
|
||||||
|
|
||||||
void (*if_notify)(struct proto *, unsigned flags, struct iface *i);
|
void (*if_notify)(struct proto *, unsigned flags, struct iface *i);
|
||||||
void (*ifa_notify)(struct proto *, unsigned flags, struct ifa *a);
|
void (*ifa_notify)(struct proto *, unsigned flags, struct ifa *a);
|
||||||
void (*rt_notify)(struct proto *, struct network *net, struct rte *new, struct rte *old);
|
void (*rt_notify)(struct proto *, struct network *net, struct rte *new, struct rte *old, struct ea_list *tmpa);
|
||||||
void (*neigh_notify)(struct neighbor *neigh);
|
void (*neigh_notify)(struct neighbor *neigh);
|
||||||
struct ea_list *(*make_tmp_attrs)(struct rte *rt, struct linpool *pool);
|
struct ea_list *(*make_tmp_attrs)(struct rte *rt, struct linpool *pool);
|
||||||
void (*store_tmp_attrs)(struct rte *rt, struct ea_list *attrs);
|
void (*store_tmp_attrs)(struct rte *rt, struct ea_list *attrs);
|
||||||
|
|
|
@ -127,7 +127,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (new || old)
|
if (new || old)
|
||||||
p->rt_notify(p, net, new, old);
|
p->rt_notify(p, net, new, old, tmpa);
|
||||||
if (new && new != new0) /* Discard temporary rte's */
|
if (new && new != new0) /* Discard temporary rte's */
|
||||||
rte_free(new);
|
rte_free(new);
|
||||||
if (old && old != old0)
|
if (old && old != old0)
|
||||||
|
|
|
@ -528,7 +528,7 @@ rip_if_notify(struct proto *p, unsigned c, struct iface *iface)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rip_rt_notify(struct proto *p, struct network *net, struct rte *new, struct rte *old)
|
rip_rt_notify(struct proto *p, struct network *net, struct rte *new, struct rte *old, struct ea_list *tmpa)
|
||||||
{
|
{
|
||||||
CHK_MAGIC;
|
CHK_MAGIC;
|
||||||
|
|
||||||
|
|
|
@ -574,7 +574,7 @@ krt_scan(timer *t)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
krt_notify(struct proto *P, net *net, rte *new, rte *old)
|
krt_notify(struct proto *P, net *net, rte *new, rte *old, struct ea_list *tmpa)
|
||||||
{
|
{
|
||||||
struct krt_proto *p = (struct krt_proto *) P;
|
struct krt_proto *p = (struct krt_proto *) P;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue