summaryrefslogtreecommitdiffstats
path: root/proto/pipe/config.Y
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-08-03 21:57:43 +0200
committerMartin Mares <mj@ucw.cz>1999-08-03 21:57:43 +0200
commit55e06729b173b24ce0c243db7e96094f10071eaf (patch)
tree7cdb035b95c8800231ea1350f4cff7a9f0033bde /proto/pipe/config.Y
parentd7975d261f8a30efcdbd9fad6ba47419a6ac6c39 (diff)
downloadbird-55e06729b173b24ce0c243db7e96094f10071eaf.tar
bird-55e06729b173b24ce0c243db7e96094f10071eaf.zip
Forgot to do a `cvs add', grr.
Diffstat (limited to 'proto/pipe/config.Y')
-rw-r--r--proto/pipe/config.Y39
1 files changed, 39 insertions, 0 deletions
diff --git a/proto/pipe/config.Y b/proto/pipe/config.Y
new file mode 100644
index 0000000..52f70dc
--- /dev/null
+++ b/proto/pipe/config.Y
@@ -0,0 +1,39 @@
+/*
+ * BIRD -- Table-to-Table Protocol Configuration
+ *
+ * (c) 1999 Martin Mares <mj@ucw.cz>
+ *
+ * Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+CF_HDR
+
+#include "proto/pipe/pipe.h"
+
+CF_DECLS
+
+CF_KEYWORDS(PIPE, PEER, TABLE)
+
+CF_GRAMMAR
+
+CF_ADDTO(proto, pipe_proto '}')
+
+pipe_proto_start: proto_start PIPE {
+ this_proto = proto_config_new(&proto_pipe, sizeof(struct pipe_config));
+ this_proto->preference = DEF_PREF_PIPE;
+ }
+ ;
+
+pipe_proto:
+ pipe_proto_start proto_name '{'
+ | pipe_proto proto_item ';'
+ | pipe_proto PEER TABLE SYM ';' {
+ if ($4->class != SYM_TABLE)
+ cf_error("Routing table name expected");
+ ((struct pipe_config *) this_proto)->peer = $4->def;
+ }
+ ;
+
+CF_CODE
+
+CF_END