Documented all the trivial protocols.
This commit is contained in:
parent
2a863dd6e1
commit
3b31c53833
6 changed files with 33 additions and 1 deletions
1
Doc
1
Doc
|
@ -4,5 +4,4 @@ C conf
|
||||||
C filter
|
C filter
|
||||||
C proto
|
C proto
|
||||||
C sysdep
|
C sysdep
|
||||||
C client
|
|
||||||
C lib
|
C lib
|
||||||
|
|
|
@ -4,3 +4,4 @@ C ospf
|
||||||
C pipe
|
C pipe
|
||||||
C rip
|
C rip
|
||||||
C static
|
C static
|
||||||
|
S ../nest/rt-dev.c
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
S pipe.c
|
|
@ -6,6 +6,18 @@
|
||||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
* 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
|
#undef LOCAL_DEBUG
|
||||||
|
|
||||||
#include "nest/bird.h"
|
#include "nest/bird.h"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
S static.c
|
|
@ -6,6 +6,24 @@
|
||||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
* 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
|
#undef LOCAL_DEBUG
|
||||||
|
|
||||||
#include "nest/bird.h"
|
#include "nest/bird.h"
|
||||||
|
|
Loading…
Reference in a new issue