README updates and more
[olsrd.git] / lib / dyn_gw / README_DYN_GW
1 DYNAMIC INTERNET GATEWAY PLUGIN FOR olsr.org olsrd
2 by Andreas T√łnnesen(andreto@olsr.org)
3 addittions by Jens Nachitgall
4
5 30.11.2004
6 TO BE UPDATED....
7
8 - Upgraded to confirm with v2 plugin interface
9 - removed IPC stuff
10 - Removed much unnessecarry stuff
11 - Added an optional validation based on the ping command, which caused
12   some internal restructuring, e.g. the dependency of a threading
13   library)
14 - the config file accepts an "Interval", meaning how often the check is
15   done
16
17 30.03.2004
18
19 ABOUT
20
21 Plugin is IPv4 only and it only runs on Linux with the libpthread
22 library installed!
23
24 This is a plugin that checks if the local node has a Internet-
25 connection. A Internet-connetion is identified by a "default gw" with a
26 hopcount of 0. That is a route to 0.0.0.0/0 with metric 0.  By default
27 the check is done every 5 secs. You can change the check interval by
28 providing an value for "Interval" in the plugin's section of olsrd.conf.
29
30 If one or more IPv4 addresses are given as values for "Ping" in the
31 section or dyn_gw in olsrd.conf, then a test is done to validate if
32 there is really an internet connection (and not just an entry in the
33 routing table). If any of the arbitrary many given IPv4 addresses can be
34 pinged, the validation was successful. The addresses are pinged in the
35 order given in the olsrd.conf (i.e. the first given address is pinged
36 first, the the 2nd, and so on). For this to work a command like 
37 "ping -c 1 -q <PING-ADDRESS>" must be possible on the system olsrd runs
38 on. The validation is based on the return value of this ping command.
39
40 Since OLSR uses hopcount/metric on all routes this plugin will
41 not respond to Internet gateways added by olsrd.
42
43 When a Internet gateway is discovered - this node will start
44 announcing 0.0.0.0/0 connectivity by HNA messages flooded into
45 the OLSR network. If the route is removed the HNA messages
46 will not be transmitted. This check is totally dynamic and
47 Internet connectivity might come and go.
48
49 This plugin will work very good with a automatic network cable
50 detection daemon such as  netplug:
51 http://freshmeat.net/projects/key-netplug/
52
53 This plugin is a good example of using plugins for other stuff
54 than packet transmission.