Use real (bi-directional) ETX.
[olsrd.git] / README-WIN32.txt
1 \r
2                          olsr.org for Windows\r
3                          --------------------\r
4 \r
5 Welcome to the Windows release of olsr.org. Let's have a quick look at\r
6 how this version differs from the original Linux version.\r
7 \r
8 \r
9                         ***** Stability *****\r
10 \r
11   While the Windows version looks pretty stable in basic scenarios, it\r
12   hasn't yet received the extensive testing by the OLSR community that\r
13   the Linux version has gone through. So, if you experience any\r
14   strange behaviour, it's probably my fault. In this case please bear\r
15   with me and use the issue tracker on SourceForge. I'll then do my\r
16   best to find and fix the problem with your assistance. The\r
17   SourceForge homepage for olsrd.org has the following URL.\r
18 \r
19                 http://sourceforge.net/projects/olsrd/\r
20 \r
21 \r
22                     ***** Configuration file *****\r
23 \r
24   If you do not specify a configuration file, the OLSR server\r
25   ("olsrd.exe") by default attempts to use "olsrd.conf" in your\r
26   Windows directory, e.g. "C:\WINDOWS\olsrd.conf".\r
27 \r
28 \r
29                      ***** Interface naming *****\r
30 \r
31   On Linux network interfaces have nice names like "eth0". In\r
32   contrast, Windows internally identifies network interfaces by pretty\r
33   awkward names, for example:\r
34 \r
35     "{EECD2AB6-C2FC-4826-B92E-CAA53B29D67C}"\r
36 \r
37   Hence, the Windows version implements its own naming scheme that\r
38   maps each internal name to a made-up name like "if03", which is\r
39   easier to memorize. Simply invoke the OLSR server as follows to\r
40   obtain its view of your interfaces:\r
41 \r
42     olsrd.exe -int\r
43 \r
44   This lists the made-up interface names along with their current IP\r
45   addresses to enable you to find out which made-up interface name\r
46   corresponds to which of your physical interfaces.\r
47 \r
48   "+" in front of the IP addresses means that the OLSR server has\r
49   identified the interface as a WLAN interface. "-" indicates that the\r
50   OLSR server considers this interface to be a wired interface. "?"\r
51   means "no idea". Detection currently only works on NT, 2000, and\r
52   XP. Windows 9x and ME will always display "?".\r
53 \r
54   For techies: The made-up names consist of the string "if" followed\r
55   by a two-digit hex representation of the least significant byte of\r
56   the Windows-internal interface index, which should be different for\r
57   each interface and thus make each made-up name unique. Again, this\r
58   is undocumented and this assumption may be wrong in certain\r
59   cases. So, if the "-int" option reports two interfaces that have the\r
60   same name, please do let me know.\r
61 \r
62 \r
63                      ***** Running the GUI *****\r
64 \r
65   We now have a native Windows GUI. No more GTK+. Simply make sure\r
66   that "Switch.exe", "Shim.exe", "olsrd.exe", "olsrd_cfgparser.dll",\r
67   and "Default.olsr" are located in the same directory and run\r
68   "Switch.exe". "Shim.exe" is just an auxiliary console application\r
69   that is required by "Switch.exe".\r
70 \r
71   The GUI is pretty self-explanatory. The three buttons on the lower\r
72   right of the GUI window start the OLSR server, stop the OLSR server,\r
73   and exit the GUI.\r
74 \r
75   Use the "Settings" tab to specify the options that the GUI uses to\r
76   run the OLSR server "olsrd.exe". When you click "Start" the GUI\r
77   generates a temporary configuration file from the information given\r
78   by the "Settings" tab. This temporary configuration file is passed\r
79   to the OLSR server via its "-f" option. \r
80 \r
81   "Offer Internet connection" is only available if you have an\r
82   Internet connection, i.e. if you have a default route configured. If\r
83   you tick this option an HNA entry for the default route is added to\r
84   the temporary configuration file, allowing other nodes in the OLSR\r
85   network to use your Internet connection.\r
86 \r
87   IP version 6 cannot currently be selected, as support for IPv6 is\r
88   not yet complete in the Windows version.\r
89 \r
90   "Enable ETX link quality" tells the OLSR server to detect the\r
91   quality of its links to its neighbours using a variant of the ETX\r
92   metric. "Window size" specifies the number of most recent packets to\r
93   be used when calculating the packet loss. If, for example, this\r
94   parameter is set to 10, then the OLSR server will calculate the\r
95   packet loss among the most recent 10 OLSR packets received from each\r
96   neighbour. If "For MPR selection only" is active, the link quality\r
97   information is only used to select MPRs that offer the best paths to\r
98   your two-hop neighbours. If "For MPR selection and routing" is\r
99   active, the link quality is additionally used to create the routing\r
100   table.\r
101 \r
102   WARNING - Enabling ETX breaks compliance with the OLSR\r
103   standard. ETX-enabled nodes do not interoperate with nodes that have\r
104   ETX switched off. DO NOT USE NODES WITH DIFFERENT ETX SETTINGS IN A\r
105   SINGLE NETWORK!\r
106 \r
107   The three buttons on the lower right of the "Settings" tab open\r
108   previously saved settings, save the current settings to a\r
109   configuration file, and reset the current settings to default\r
110   values.\r
111 \r
112   If you start the GUI with the path to a configuration file as the\r
113   only command line argument, the GUI opens the given configuration\r
114   file and runs the OLSR server with this configuration. So, saving a\r
115   configuration file with a ".olsr" extension, for example, and making\r
116   "Switch.exe" the handler for ".olsr" files enables you to run the\r
117   OLSR server with a simple double click on the configuration file.\r
118 \r
119   The "Output" tab shows the output of the currently running OLSR\r
120   server. The output is limited to 1000 lines. The 1001st line will\r
121   make the first line disappear and so on. When you click "Start" The\r
122   GUI simply invokes the OLSR server "olsrd.exe" and intercepts its\r
123   console output. Use the four buttons on the upper right of the tab\r
124   to freeze the output, resume frozen output, save the output to a\r
125   file, or clear the output.\r
126 \r
127   The "Nodes" tab contains information about the nodes that the OLSR\r
128   server currently knows about. If you click on the address of a node\r
129   in the "Node list" list box, the GUI populates the three "Node\r
130   information" list boxes on the right with the multi-point relays of\r
131   the selected node (MPR), the interfaces of the selected node (MID),\r
132   and the non-OLSR networks accessible via the selected node (HNA).\r
133 \r
134   The "Routes" tab shows the routes that the currently running OLSR\r
135   server has added.\r
136 \r
137   The default settings for the "Settings" tab are taken from the\r
138   "Default.olsr" file. The configuration of the last interface in this\r
139   file is used to populate the per-interface settings (HELLO interval,\r
140   etc.) in the "Settings" tab. If you do not want to specify any\r
141   interface in "Default.olsr", the problem arises that you do not have\r
142   such a last interface. In this case simply create an interface with\r
143   the special name of "GUI". This tells the GUI to use the\r
144   configuration of the interface for the per-interface settings and to\r
145   forget about this interface afterwards.\r
146 \r
147 \r
148                    ***** Running the GTK+ GUI *****\r
149 \r
150   Please use the native Windows GUI instead. The GTK+ GUI is no longer\r
151   supported on Windows.\r
152 \r
153 \r
154                      ***** Missing features *****\r
155 \r
156   The Windows version currently does not implement the following\r
157   major features known from the Linux release.\r
158 \r
159     * IPv6\r
160 \r
161   There are also some Windows-specific features that I currently work\r
162   on, but which have not made it into this release.\r
163 \r
164     * The option to run the OLSR server as a Windows service on\r
165       Windows NT, 2000, and XP.\r
166 \r
167 \r
168                         ***** Compiling *****\r
169 \r
170   To compile the Windows version of the OLSR server or the dot_draw\r
171   plugin you need a Cygwin installation with a current version of GCC\r
172   and Mingw32.\r
173 \r
174   The GUI has to be compiled with Visual C++ 6. Simply open the\r
175   "Frontend.dsw" workspace in the Visual C++ 6 IDE. Then compile\r
176   "Frontend" and "Shim", which creates "Switch.exe" and\r
177   "Shim.exe".\r
178 \r
179 Well, thanks for using an early release of a piece of software and\r
180 please bear with me if there are any problems. Please do also feel\r
181 free to suggest any features that you'd like to see in future\r
182 releases.\r
183 \r
184 Thomas Lopatic <thomas@lopatic.de>, 2004-11-21\r