summaryrefslogtreecommitdiff
path: root/sysdep/linux/netlink.Y
diff options
context:
space:
mode:
authorOndrej Filip <feela@network.cz>2012-05-11 00:01:29 +0200
committerOndrej Filip <feela@network.cz>2012-05-11 00:01:29 +0200
commit72b2db8db7534c52e928618410ec1f18787752c8 (patch)
tree7eee7f4c26a36f72e0700e9e5d78056f5329f85c /sysdep/linux/netlink.Y
parent2795700c3158fa52b6cf957e9d0b9ad4a27c67a5 (diff)
parent95616c820248018f4999972cad315f2da60e4960 (diff)
Merge branch 'master' of ssh://git.nic.cz/bird
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