Commit 3b31c538 authored by Martin Mareš's avatar Martin Mareš
Browse files

Documented all the trivial protocols.

parent 2a863dd6
......@@ -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
......@@ -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.
#include "nest/bird.h"
......@@ -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.
#include "nest/bird.h"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment