summaryrefslogtreecommitdiffstats
path: root/sysdep/linux/netlink/netlink.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/linux/netlink/netlink.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/linux/netlink/netlink.Y')
-rw-r--r--sysdep/linux/netlink/netlink.Y7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdep/linux/netlink/netlink.Y b/sysdep/linux/netlink/netlink.Y
index b5c45f2..1b9b1e4 100644
--- a/sysdep/linux/netlink/netlink.Y
+++ b/sysdep/linux/netlink/netlink.Y
@@ -10,7 +10,7 @@ CF_HDR
CF_DECLS
-CF_KEYWORDS(ASYNC)
+CF_KEYWORDS(ASYNC, KERNEL, TABLE)
CF_GRAMMAR
@@ -18,6 +18,11 @@ CF_ADDTO(kern_proto, kern_proto nl_item ';')
nl_item:
ASYNC bool { THIS_KRT->scan.async = $2; }
+ | KERNEL TABLE expr {
+ if ($3 <= 0 || $3 >= 255)
+ cf_error("Kernel routing table number out of range");
+ THIS_KRT->scan.table_id = $3;
+ }
;
CF_CODE