]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Access to few more attributes is needed.
authorPavel Machek <pavel@ucw.cz>
Tue, 30 May 2000 10:13:32 +0000 (10:13 +0000)
committerPavel Machek <pavel@ucw.cz>
Tue, 30 May 2000 10:13:32 +0000 (10:13 +0000)
filter/config.Y
filter/filter.c

index 95ce5eaaabcbc2554a6fb7a8b3094198ba1b2ba8..2a5b9efb67f0263e3098644c88da29550ac114c0 100644 (file)
@@ -368,12 +368,19 @@ term:
      }
    }
 
+/* FIXME (maybe?) rta.from read/write */
  | rtadot FROM    { $$ = f_new_inst(); $$->code = 'a'; $$->aux = T_IP; $$->a2.i = OFFSETOF(struct rta, from); }
 
+/* FIXME Gw read/write */
  | rtadot GW      { $$ = f_new_inst(); $$->code = 'a'; $$->aux = T_IP; $$->a2.i = OFFSETOF(struct rta, gw); }
  | rtadot NET     { $$ = f_new_inst(); $$->code = 'a'; $$->aux = T_PREFIX; $$->a2.i = 0x12345678; /* This is actually ok - T_PREFIX is special-cased. */ }
  | rtadot SOURCE  { $$ = f_new_inst(); $$->code = 'a'; $$->aux = T_ENUM_RTS; $$->a2.i = OFFSETOF(struct rta, source); }
 
+/* FIXME rte.Preference - read/write */
+/* FIXME rta.Scope - read/write */
+/* FIXME rta.Cast - read */
+/* FIXME rta.Dest - read */
+
  | rtadot dynamic_attr { $$ = $2; $$->code = P('e','a'); }
 
  | term '.' IP { $$ = f_new_inst(); $$->code = P('c','p'); $$->a1.p = $1; $$->aux = T_IP; }
index e300794af91dfdcf11c0f682230fb2a5cf1a1bb9..246fbf67a3135e363cde773d398c04991b079e86 100644 (file)
 /**
  * DOC: Filters
  *
+ * You can find sources of filters language in filter/
+ * directory. filter/config.Y filter grammar, and basically translates
+ * source from user into tree of &f_inst structures. These trees are
+ * later interpreted using code in filter/filter.c. Filters internally
+ * work with values/variables in struct f_val, which contains type of
+ * value and value.
+ *
  * Filter consists of tree of &f_inst structures, one structure per
  * "instruction". Each &f_inst contains code, aux value which is
  * usually type of data this instruction operates on, and two generic
@@ -23,8 +30,7 @@
  * forced. Important thing about &f_val s is that they may be copied
  * with simple =. That's fine for all currently defined types: strings
  * are read-only (and therefore okay), paths are copied for each
- * operation (okay too).
- */
+ * operation (okay too).  */
 
 #undef LOCAL_DEBUG