Small change in comments
[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 21.12.2004
6   bjoern Riemer
7 - added universal hna checking
8   the plParams are parsed in spechial order, first the HNA parameter syntax: "net mask"
9   the following Ping parameter are only used for the previus HNA entry.
10   if there is no previus HNA entry then HNA "0.0.0.0 0.0.0.0" for internet GW is assumed
11
12 30.11.2004
13
14   updates by Jens:
15
16 - Upgraded to confirm with v2 plugin interface
17 - removed IPC stuff
18 - Removed much unnessecarry stuff
19 - Added an optional validation based on the ping command, which caused
20   some internal restructuring, e.g. the dependency of a threading
21   library)
22 - the config file accepts an "Interval", meaning how often the check is
23   done
24
25 HOW TO USE
26
27 Add an entry like this to your olsrd configuration file:
28
29 LoadPlugin "olsrd_dyn_gw.so.0.4"
30 {
31     # how often to look for a inet gw, in seconds
32     # defaults to 5 secs, if commented out
33     PlParam     "Interval"   "40"
34     
35     # if one or more IPv4 addresses are given, do a ping on these in
36     # descending order to validate that there is not only an entry in
37     # routing table, but also a real internet connection. If any of
38     # these addresses could be pinged successfully, the test was
39     # succesful, i.e. if the ping on the 1st address was successful,the
40     # 2nd won't be pinged
41     PlParam     "Ping"       "141.1.1.1"
42     PlParam     "Ping"       "194.25.2.129"
43     PlParam     "HNA"   "192.168.80.0 255.255.255.0"
44     PlParam     "HNA"   "192.168.81.0 255.255.255.0"
45     PlParam     "Ping"  "192.168.81.12"
46 }
47
48
49 ABOUT
50
51 Plugin is IPv4 only and it only runs on Linux with the libpthread
52 library installed!
53
54 This is a plugin that checks if the local node has a Internet-
55 connection. A Internet-connetion is identified by a "default gw" with a
56 hopcount of 0. That is a route to 0.0.0.0/0 with metric 0.  By default
57 the check is done every 5 secs. You can change the check interval by
58 providing an value for "Interval" in the plugin's section of olsrd.conf.
59
60 If one or more IPv4 addresses are given as values for "Ping" in the
61 section or dyn_gw in olsrd.conf, then a test is done to validate if
62 there is really an internet connection (and not just an entry in the
63 routing table). If any of the arbitrary many given IPv4 addresses can be
64 pinged, the validation was successful. The addresses are pinged in the
65 order given in the olsrd.conf (i.e. the first given address is pinged
66 first, the the 2nd, and so on). For this to work a command like 
67 "ping -c 1 -q <PING-ADDRESS>" must be possible on the system olsrd runs
68 on. The validation is based on the return value of this ping command.
69
70 Since OLSR uses hopcount/metric on all routes this plugin will
71 not respond to Internet gateways added by olsrd.
72
73 When a Internet gateway is discovered - this node will start
74 announcing 0.0.0.0/0 connectivity by HNA messages flooded into
75 the OLSR network. If the route is removed the HNA messages
76 will not be transmitted. This check is totally dynamic and
77 Internet connectivity might come and go.
78
79 This plugin will work very good with a automatic network cable
80 detection daemon such as  netplug:
81 http://freshmeat.net/projects/key-netplug/
82
83 This plugin is a good example of using plugins for other stuff
84 than packet transmission.