summaryrefslogtreecommitdiffstats
path: root/sysdep/unix/krt.Y
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-08-03 21:33:22 +0200
committerMartin Mares <mj@ucw.cz>1999-08-03 21:33:22 +0200
commit7de45ba4a01bfdc986a4b597c04ad39d9b97a58a (patch)
tree1dd27f09572f546021591febcb1085b690a5be92 /sysdep/unix/krt.Y
parent9d8856897f92ad74be140adafaac41f9df6edf31 (diff)
downloadbird-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 'sysdep/unix/krt.Y')
-rw-r--r--sysdep/unix/krt.Y8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdep/unix/krt.Y b/sysdep/unix/krt.Y
index de25cad..50f31bb 100644
--- a/sysdep/unix/krt.Y
+++ b/sysdep/unix/krt.Y
@@ -24,14 +24,16 @@ CF_GRAMMAR
CF_ADDTO(proto, kern_proto '}')
kern_proto_start: proto_start KERNEL {
+#ifndef CONFIG_MULTIPLE_TABLES
if (cf_krt)
cf_error("Kernel protocol already defined");
+#endif
cf_krt = this_proto = proto_config_new(&proto_unix_kernel, sizeof(struct krt_config));
this_proto->preference = 0;
THIS_KRT->scan_time = 60;
THIS_KRT->learn = THIS_KRT->persist = 0;
- krt_scan_preconfig(THIS_KRT);
- krt_set_preconfig(THIS_KRT);
+ krt_scan_construct(THIS_KRT);
+ krt_set_construct(THIS_KRT);
}
;
@@ -64,7 +66,7 @@ kif_proto_start: proto_start DEVICE {
cf_kif = this_proto = proto_config_new(&proto_unix_iface, sizeof(struct kif_config));
this_proto->preference = DEF_PREF_DIRECT;
THIS_KIF->scan_time = 60;
- krt_if_preconfig(THIS_KIF);
+ krt_if_construct(THIS_KIF);
}
;