summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-08-03 19:33:22 +0000
committerMartin Mares <mj@ucw.cz>1999-08-03 19:33:22 +0000
commit7de45ba4a01bfdc986a4b597c04ad39d9b97a58a (patch)
tree1dd27f09572f546021591febcb1085b690a5be92 /nest
parent9d8856897f92ad74be140adafaac41f9df6edf31 (diff)
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.h1
-rw-r--r--nest/rt-table.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/nest/route.h b/nest/route.h
index 1ce00f19..577142ae 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 7aff8b39..f8c4e777 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;