diff options
author | Martin Mares <mj@ucw.cz> | 2000-06-04 16:15:37 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-06-04 16:15:37 +0000 |
commit | 3b31c538333156770ddb74a7a27f271784745144 (patch) | |
tree | 2bb7a5614cd4ea2810cf5ab94b5ae95f267e582f | |
parent | 2a863dd6e18a43fe3de5b1f3651e816f6fc27bb1 (diff) |
Documented all the trivial protocols.
-rw-r--r-- | Doc | 1 | ||||
-rw-r--r-- | proto/Doc | 1 | ||||
-rw-r--r-- | proto/pipe/Doc | 1 | ||||
-rw-r--r-- | proto/pipe/pipe.c | 12 | ||||
-rw-r--r-- | proto/static/Doc | 1 | ||||
-rw-r--r-- | proto/static/static.c | 18 |
6 files changed, 33 insertions, 1 deletions
@@ -4,5 +4,4 @@ C conf C filter C proto C sysdep -C client C lib @@ -4,3 +4,4 @@ C ospf C pipe C rip C static +S ../nest/rt-dev.c diff --git a/proto/pipe/Doc b/proto/pipe/Doc index e69de29b..e7a6d6a7 100644 --- a/proto/pipe/Doc +++ b/proto/pipe/Doc @@ -0,0 +1 @@ +S pipe.c diff --git a/proto/pipe/pipe.c b/proto/pipe/pipe.c index 3f41faaf..f7ba866b 100644 --- a/proto/pipe/pipe.c +++ b/proto/pipe/pipe.c @@ -6,6 +6,18 @@ * Can be freely distributed and used under the terms of the GNU GPL. */ +/** + * DOC: Pipe + * + * The Pipe protocol is very simple. It just connects to two routing tables + * using proto_add_announce_hook() and whenever it receives a rt_notify() + * about a change in one of the tables, it converts it to a rte_update() + * in the other one. + * + * To avoid pipe loops, Pipe keeps a `being updated' flag in each routing + * table. + */ + #undef LOCAL_DEBUG #include "nest/bird.h" diff --git a/proto/static/Doc b/proto/static/Doc index e69de29b..73632b1f 100644 --- a/proto/static/Doc +++ b/proto/static/Doc @@ -0,0 +1 @@ +S static.c diff --git a/proto/static/static.c b/proto/static/static.c index c380aeb2..de061e81 100644 --- a/proto/static/static.c +++ b/proto/static/static.c @@ -6,6 +6,24 @@ * Can be freely distributed and used under the terms of the GNU GPL. */ +/** + * DOC: Static + * + * The Static protocol is implemented in a very straightforward way. It keeps + * a two lists of static routes: one containing interface routes and one + * holding the remaining ones. Interface routes are inserted and removed according + * to interface events received from the core via the if_notify() hook, routes + * pointing to a neighboring router use a sticky node in the neighbor cache + * to be notified about gaining or losing the neighbor and finally special + * routes like black holes or rejects are inserted all the time. + * + * The only other thing worth mentioning is that when asked for reconfiguration, + * Static not only compares the two configurations, but it also calculates + * difference between the lists of static routes mentioned in the old config + * and the lists in the new one and it just inserts the newly added routes + * and removes the obsolete ones. + */ + #undef LOCAL_DEBUG #include "nest/bird.h" |