Channelize: rt_notify arg conversion table -> channel

This commit is contained in:
Jan Moskyto Matejka 2016-04-04 16:17:11 +02:00
parent 0c8c8151fc
commit 4bdf1881dc
9 changed files with 15 additions and 15 deletions

View file

@ -189,7 +189,7 @@ void ifa_notify(struct proto *p, unsigned flags, struct ifa *a)
/** /**
* rt_notify - notify instance about routing table change * rt_notify - notify instance about routing table change
* @p: protocol instance * @p: protocol instance
* @table: a routing table * @channel: notifying channel
* @net: a network entry * @net: a network entry
* @new: new route for the network * @new: new route for the network
* @old: old route for the network * @old: old route for the network

View file

@ -184,7 +184,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 rtable *table, struct network *net, struct rte *new, struct rte *old, struct ea_list *attrs); void (*rt_notify)(struct proto *, struct channel *, struct network *net, struct rte *new, struct rte *old, struct ea_list *attrs);
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);

View file

@ -481,18 +481,18 @@ do_rt_notify(struct channel *c, net *net, rte *new, rte *old, ea_list *tmpa, int
rte_trace_out(D_ROUTES, p, old, "removed"); rte_trace_out(D_ROUTES, p, old, "removed");
} }
if (!new) if (!new)
p->rt_notify(p, c->table, net, NULL, old, NULL); p->rt_notify(p, c, net, NULL, old, NULL);
else if (tmpa) else if (tmpa)
{ {
ea_list *t = tmpa; ea_list *t = tmpa;
while (t->next) while (t->next)
t = t->next; t = t->next;
t->next = new->attrs->eattrs; t->next = new->attrs->eattrs;
p->rt_notify(p, c->table, net, new, old, tmpa); p->rt_notify(p, c, net, new, old, tmpa);
t->next = NULL; t->next = NULL;
} }
else else
p->rt_notify(p, c->table, net, new, old, new->attrs->eattrs); p->rt_notify(p, c, net, new, old, new->attrs->eattrs);
} }
static void static void
@ -552,7 +552,7 @@ rt_notify_basic(struct channel *c, net *net, rte *new0, rte *old0, int refeed)
#ifdef CONFIG_PIPE #ifdef CONFIG_PIPE
if ((p->proto == &proto_pipe) && !new0 && (p != old0->sender->proto)) if ((p->proto == &proto_pipe) && !new0 && (p != old0->sender->proto))
p->rt_notify(p, c->table, net, NULL, old0, NULL); p->rt_notify(p, c, net, NULL, old0, NULL);
#endif #endif
return; return;

View file

@ -1241,7 +1241,7 @@ find_surrogate_fwaddr(struct ospf_proto *p, struct ospf_area *oa)
} }
void void
ospf_rt_notify(struct proto *P, rtable *tbl UNUSED, net *n, rte *new, rte *old UNUSED, ea_list *ea) ospf_rt_notify(struct proto *P, struct channel *ch UNUSED, net *n, rte *new, rte *old UNUSED, ea_list *ea)
{ {
struct ospf_proto *p = (struct ospf_proto *) P; struct ospf_proto *p = (struct ospf_proto *) P;
struct ospf_area *oa = NULL; /* non-NULL for NSSA-LSA */ struct ospf_area *oa = NULL; /* non-NULL for NSSA-LSA */

View file

@ -188,7 +188,7 @@ void ospf_originate_sum_net_lsa(struct ospf_proto *p, struct ospf_area *oa, ort
void ospf_originate_sum_rt_lsa(struct ospf_proto *p, struct ospf_area *oa, u32 drid, int metric, u32 options); void ospf_originate_sum_rt_lsa(struct ospf_proto *p, struct ospf_area *oa, u32 drid, int metric, u32 options);
void ospf_originate_ext_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, u8 mode, u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit); void ospf_originate_ext_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, u8 mode, u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit);
void ospf_rt_notify(struct proto *P, rtable *tbl, net *n, rte *new, rte *old, ea_list *attrs); void ospf_rt_notify(struct proto *P, struct channel *ch, net *n, rte *new, rte *old, ea_list *attrs);
void ospf_update_topology(struct ospf_proto *p); void ospf_update_topology(struct ospf_proto *p);
struct top_hash_entry *ospf_hash_find(struct top_graph *, u32 domain, u32 lsa, u32 rtr, u32 type); struct top_hash_entry *ospf_hash_find(struct top_graph *, u32 domain, u32 lsa, u32 rtr, u32 type);

View file

@ -44,10 +44,10 @@
#include "pipe.h" #include "pipe.h"
static void static void
pipe_rt_notify(struct proto *P, rtable *src_table, net *n, rte *new, rte *old, ea_list *attrs) pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *old, ea_list *attrs)
{ {
struct pipe_proto *p = (void *) P; struct pipe_proto *p = (void *) P;
struct channel *dst = (src_table == p->pri->table) ? p->sec : p->pri; struct channel *dst = (src_ch == p->pri) ? p->sec : p->pri;
struct rte_src *src; struct rte_src *src;
net *nn; net *nn;
@ -89,9 +89,9 @@ pipe_rt_notify(struct proto *P, rtable *src_table, net *n, rte *new, rte *old, e
src = old->attrs->src; src = old->attrs->src;
} }
src_table->pipe_busy = 1; src_ch->table->pipe_busy = 1;
rte_update2(dst, nn, e, src); rte_update2(dst, nn, e, src);
src_table->pipe_busy = 0; src_ch->table->pipe_busy = 0;
} }
static int static int

View file

@ -281,7 +281,7 @@ radv_import_control(struct proto *p, rte **new, ea_list **attrs UNUSED, struct l
} }
static void static void
radv_rt_notify(struct proto *p, rtable *tbl UNUSED, net *n, rte *new, rte *old UNUSED, ea_list *attrs UNUSED) radv_rt_notify(struct proto *p, struct channel *ch UNUSED, net *n, rte *new, rte *old UNUSED, ea_list *attrs UNUSED)
{ {
struct proto_radv *ra = (struct proto_radv *) p; struct proto_radv *ra = (struct proto_radv *) p;
struct radv_config *cf = (struct radv_config *) (p->cf); struct radv_config *cf = (struct radv_config *) (p->cf);

View file

@ -309,7 +309,7 @@ rip_withdraw_rte(struct rip_proto *p, net_addr *n, struct rip_neighbor *from)
* it into our data structures. * it into our data structures.
*/ */
static void static void
rip_rt_notify(struct proto *P, struct rtable *table UNUSED, struct network *net, struct rte *new, rip_rt_notify(struct proto *P, struct channel *ch UNUSED, struct network *net, struct rte *new,
struct rte *old UNUSED, struct ea_list *attrs) struct rte *old UNUSED, struct ea_list *attrs)
{ {
struct rip_proto *p = (struct rip_proto *) P; struct rip_proto *p = (struct rip_proto *) P;

View file

@ -1014,7 +1014,7 @@ krt_import_control(struct proto *P, rte **new, ea_list **attrs, struct linpool *
} }
static void static void
krt_rt_notify(struct proto *P, struct rtable *table UNUSED, net *net, krt_rt_notify(struct proto *P, struct channel *ch UNUSED, net *net,
rte *new, rte *old, struct ea_list *eattrs) rte *new, rte *old, struct ea_list *eattrs)
{ {
struct krt_proto *p = (struct krt_proto *) P; struct krt_proto *p = (struct krt_proto *) P;