]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Moved documentation to top of file, where it belongs.
authorPavel Machek <pavel@ucw.cz>
Sun, 30 Apr 2000 18:47:48 +0000 (18:47 +0000)
committerPavel Machek <pavel@ucw.cz>
Sun, 30 Apr 2000 18:47:48 +0000 (18:47 +0000)
doc/kernel-doc
filter/filter.c
proto/rip/rip.c

index b9e872d20a29639e0a21e84b9dea70ed6f381191..c3237f0930b226f284b0f3223ad9da7463cb136e 100755 (executable)
@@ -275,7 +275,7 @@ sub output_html {
     }
     print "</dl>\n";
     foreach $section (@{$args{'sectionlist'}}) {
-       print "<h3>$section</h3>\n";
+       print "<h1>$section</h1>\n";
        print "<ul>\n";
        output_highlight($args{'sections'}{$section});
        print "</ul>\n";
@@ -291,7 +291,7 @@ sub output_intro_html {
     my $count;
 
     foreach $section (@{$args{'sectionlist'}}) {
-       print "<h3>$section</h3>\n";
+       print "<h1>$section</h1>\n";
        print "<ul>\n";
        output_highlight($args{'sections'}{$section});
        print "</ul>\n";
index 76c0119720f5d122644b27bcf32b035fd84044df..f70474ad4428dccdecc45f325d4ce6fab9348dff 100644 (file)
@@ -7,6 +7,25 @@
  *
  */
 
+/**
+ * DOC: Filters
+ *
+ * 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
+ * arguments (a1, a2). Some instructinos contain pointer(s) to other
+ * instructions in their (a1, a2) fields.
+ *
+ * Filters use structure &f_val for its variables. Each &f_val
+ * contains type and value. Types are constants prefixed with %T_. Few
+ * of types are special; %T_RETURN can be or-ed with type to indicate
+ * that return from function/from whole filter should be
+ * 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).
+ */
+
 #define LOCAL_DEBUG
 
 #include "nest/bird.h"
@@ -624,21 +643,6 @@ i_same(struct f_inst *f1, struct f_inst *f2)
  * @filter: pointer to filter to run
  * @rte: pointer to pointer to rte being filtered. When route is modified, this is changed with rte_cow.
  * @tmp_pool: all filter allocations go from this pool
- *
- * 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
- * arguments (a1, a2). Some instructinos contain pointer(s) to other
- * instructions in their (a1, a2) fields.
- *
- * Filters use structure &f_val for its variables. Each &f_val
- * contains type and value. Types are constants prefixed with %T_. Few
- * of types are special; %T_RETURN can be or-ed with type to indicate
- * that return from function/from whole filter should be
- * 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).
  */
 int
 f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool, int flags)
index 54627d5c3b9bb934a320d71c2f591ca6594e9e1a..2826de7f32c75e1ee85a6dceaef6840b571543b9 100644 (file)
 
  */
 
+/**
+ * DOC: Routing information protocol
+ *
+ * Rip is pretty simple protocol so half of this code is interface
+ * with core. We maintain our own linklist of &rip_entry - it serves
+ * as our small routing table. Within rip_tx(), this list is
+ * walked, and packet is generated using rip_tx_prepare(). This gets
+ * tricky because we may need to send more than one packet to one
+ * destination. Struct &rip_connection is used to hold info such as how
+ * many of &rip_entry ies we already send, and is also used to protect
+ * from two concurrent sends to one destination. Each &rip_interface has
+ * at most one &rip_connection.
+ *
+ * We are not going to honour requests for sending part of
+ * routing table. That would need to turn split horizon off,
+ * etc.  
+ *
+ * Triggered updates. RFC says: when triggered update was sent, don't send
+ * new one for something between 1 and 5 seconds (and send one
+ * after that). We do something else: once in 5 second
+ * we look for any changed routes and broadcast them.
+ */
+
+
 #define LOCAL_DEBUG
 
 #include "nest/bird.h"
@@ -450,25 +474,6 @@ rip_timer(timer *t)
 
 /**
  * rip_start - initialize instance of rip
- *
- * Rip is pretty simple protocol so half of this code is interface
- * with core. We maintain our own linklist of &rip_entry - it serves
- * as our small routing table. Within rip_tx(), this list is
- * walked, and packet is generated using rip_tx_prepare(). This gets
- * tricky because we may need to send more than one packet to one
- * destination. Struct &rip_connection is used to hold info such as how
- * many of &rip_entry ies we already send, and is also used to protect
- * from two concurrent sends to one destination. Each &rip_interface has
- * at most one &rip_connection.
- *
- * We are not going to honour requests for sending part of
- * routing table. That would need to turn split horizon off,
- * etc.  
- *
- * Triggered updates. RFC says: when triggered update was sent, don't send
- * new one for something between 1 and 5 seconds (and send one
- * after that). We do something else: once in 5 second
- * we look for any changed routes and broadcast them.
  */
 static int
 rip_start(struct proto *p)