summaryrefslogtreecommitdiff
path: root/sysdep/linux/netlink.Y
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2012-05-04 16:38:25 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2012-05-04 16:38:25 +0200
commit95616c820248018f4999972cad315f2da60e4960 (patch)
tree7eee7f4c26a36f72e0700e9e5d78056f5329f85c /sysdep/linux/netlink.Y
parent064e7be5cd4dffd564b4ea41ba6d843492a55c97 (diff)
Cleanup in sysdep KRT code, part 4.
Adding some files that was accidentally removed (instead of moved) in cleanup part 2.
Diffstat (limited to 'sysdep/linux/netlink.Y')
-rw-r--r--sysdep/linux/netlink.Y32
1 files changed, 32 insertions, 0 deletions
diff --git a/sysdep/linux/netlink.Y b/sysdep/linux/netlink.Y
new file mode 100644
index 00000000..51689ff9
--- /dev/null
+++ b/sysdep/linux/netlink.Y
@@ -0,0 +1,32 @@
+/*
+ * BIRD -- Linux Netlink Configuration
+ *
+ * (c) 1999--2000 Martin Mares <mj@ucw.cz>
+ *
+ * Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+CF_HDR
+
+CF_DECLS
+
+CF_KEYWORDS(ASYNC, KERNEL, TABLE, KRT_PREFSRC, KRT_REALM)
+
+CF_GRAMMAR
+
+CF_ADDTO(kern_proto, kern_proto nl_item ';')
+
+nl_item:
+ KERNEL TABLE expr {
+ if ($3 <= 0 || $3 >= NL_NUM_TABLES)
+ cf_error("Kernel routing table number out of range");
+ THIS_KRT->sys.table_id = $3;
+ }
+ ;
+
+CF_ADDTO(dynamic_attr, KRT_PREFSRC { $$ = f_new_dynamic_attr(EAF_TYPE_IP_ADDRESS, T_IP, EA_KRT_PREFSRC); })
+CF_ADDTO(dynamic_attr, KRT_REALM { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_KRT_REALM); })
+
+CF_CODE
+
+CF_END