diff options
author | Martin Mares <mj@ucw.cz> | 1999-08-03 21:33:22 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-08-03 21:33:22 +0200 |
commit | 7de45ba4a01bfdc986a4b597c04ad39d9b97a58a (patch) | |
tree | 1dd27f09572f546021591febcb1085b690a5be92 /nest | |
parent | 9d8856897f92ad74be140adafaac41f9df6edf31 (diff) | |
download | bird-7de45ba4a01bfdc986a4b597c04ad39d9b97a58a.tar bird-7de45ba4a01bfdc986a4b597c04ad39d9b97a58a.zip |
Kernel route syncer supports multiple tables.
The changes are just too extensive for lazy me to list them
there, but see the comment at the top of sysdep/unix/krt.c.
The code got a bit more ifdeffy than I'd like, though.
Also fixed a bunch of FIXME's and added a couple of others. :)
Diffstat (limited to 'nest')
-rw-r--r-- | nest/route.h | 1 | ||||
-rw-r--r-- | nest/rt-table.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/nest/route.h b/nest/route.h index 1ce00f1..577142a 100644 --- a/nest/route.h +++ b/nest/route.h @@ -109,6 +109,7 @@ struct rtable_config { node n; char *name; struct rtable *table; + struct proto_config *krt_attached; /* Kernel syncer attached to this table */ }; typedef struct rtable { diff --git a/nest/rt-table.c b/nest/rt-table.c index 7aff8b3..f8c4e77 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -104,6 +104,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list * struct proto *p = a->proto; rte *new0 = new; rte *old0 = old; + if (new) { int ok = p->import_control ? p->import_control(p, &new, &tmpa, rte_update_pool) : 0; |