<div dir="ltr">Questa è passata sulla ML di OLSR.<div><br></div><div>Ovviamente è super super super super super alpha, però se qualcuno avesse voglia di giocarci un po'...</div><div><br></div><div><br></div><div>nolith<br>

<br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Henning Rogge</b><br>Date: Thu, May 23, 2013 at 8:51 PM<br>Subject: [Olsr-dev] Olsrd2, version 0.2.1<br>To: olsr-dev <<a href="mailto:olsr-dev@lists.olsr.org">olsr-dev@lists.olsr.org</a>><br>

<br><br>Hi,<br>
<br>
I tagged the version 0.2.1 of Olsrd2 today and I think this might be<br>
the first version interesting enough for other people to try out.<br>
<br>
I think the software is still in an "Alpha" stage, its not even<br>
feature complete and a few parts are prototypes that will be removed<br>
later, but it already is doing its job.<br>
<br>
<br>
What do I need to compile Olsrd2?<br>
*********************************<br>
<br>
1.) A reasonable current build system (gcc, ...).<br>
2.) CMake version 2.8.5 or newer<br>
3.) libnl3-dev or libnl-tiny<br>
<br>
(yes, both the current stable and trunk of OpenWRT are okay for this)<br>
<br>
<br>
How to compile Olsrd2 by hand?<br>
******************************<br>
<br>
1.) clone the OONF-API repository (Olsr.Org Network Framework)<br>
<br>
git clone <a href="http://olsr.org/git/oonf_api.git" target="_blank">http://olsr.org/git/oonf_api.git</a><br>
<br>
2.) go into the "build" subdirectory of the cloned repository and compile it<br>
<br>
cd oonf_api/build<br>
cmake ..<br>
make<br>
cd ../..<br>
<br>
3.) clone the OLSRd2 repository<br>
<br>
git clone <a href="http://olsr.org/git/olsrd2.git" target="_blank">http://olsr.org/git/olsrd2.git</a><br>
<br>
4.) go into the "build" subdirectory of the cloned repository and compile it too<br>
<br>
cd olsrd2/build<br>
cmake ..<br>
make<br>
<br>
(the executable is called "olsrd2")<br>
<br>
<br>
How to compile Olsrd2 in OpenWRT?<br>
*********************************<br>
<br>
1) Include both repositories as package feeds into the feeds.conf file.<br>
<br>
2) Build the network/Olsr.org Routing Agent/olsrd2-git package<br>
<br>
<br>
How do I test Olsrd2?<br>
*********************<br>
<br>
Easiest way is to run the executable and just add the mesh interface<br>
names as parameters. Thats it.<br>
<br>
> ./olsrd2 wlan0<br>
<br>
No starting script at the moment.<br>
<br>
<br>
How can I see that Olsrd2 is doing something useful?<br>
****************************************************<br>
<br>
1.) You will see RFC5444 messages as UDP packets on port 269.<br>
<br>
2.) As soon as you have two nodes with non-linklocal addresses you<br>
should see routing entries in the main table<br>
<br>
3.) You can connect to the telnet port of Olsrd2 (port 2006). The<br>
"help" command gives you an overview about the available commands.<br>
"nhdp" and "olsrv2" are prototypes of 'lets see what OLSRd2 is doing'<br>
commands.<br>
<br>
<br>
What is about command line parameters?<br>
************************************<br>
<br>
This is still "not finalized", but you can get all command line<br>
parameters by calling olsrd2 with the --help command.<br>
<br>
<br>
Why no configuration file?<br>
***************************<br>
<br>
Olsrd2 tries to load the default configuration file from /etc/olsrd2/olsrd2.conf<br>
<br>
But it can do without in simple cases.<br>
<br>
The options of the configuration file are key/value pairs which are<br>
distributed into sections. The "--set" command line parameter is just<br>
another interface to manipulate the configuration of Olsrd2.<br>
<br>
<br>
How does the configuration file would look like?<br>
************************************************<br>
<br>
The format of the configuration file is defined by a (statically<br>
bound) plugin, so we can easily change it later. The current format<br>
looks like this:<br>
<br>
[section1]<br>
key1 value1<br>
key2 value2<br>
<br>
[section2=name1]<br>
key3 value3<br>
key4 value4<br>
<br>
[section2=name2]<br>
key3 value3<br>
<br>
<br>
What features does Olsrd2 have?<br>
*******************************<br>
<br>
I will just list a few of them here:<br>
- dualstack support<br>
- handling of linklocal addresses<br>
- detection of interface addresses based on filters<br>
- giving "attached networks" (HNAs) an outgoing metric cost<br>
- pluggable routing metrics<br>
- access to nl80211 link metric data for metric calculation<br>
<br>
<br>
What metric does Olsrd2 use by default?<br>
***************************************<br>
<br>
The current metric is called "ff_ett". Its based on the Freifunk ETX<br>
metric, but like all Olsrd2 metric its directional. In addition to<br>
this it queries the nl80211 kernel system to get the current outgoing<br>
linkspeed and put this into the metric value too.<br>
<br>
This might change in the future, but the transport format will not<br>
change, so we can try to make the different metrics reasonable<br>
compatible.<br>
<br>
<br>
What is the next TODO?<br>
********************<br>
<br>
Handling of IP addresses on the localhost interface. I would like to<br>
get to the point where interface addresses can be "linklocal only" and<br>
you need only a single "routable" address on the localhost interface<br>
for the whole node.<br>
<br>
And maybe fixing reported bugs. ;)<br>
<br>
<br>
Henning Rogge<br>
<br>
--<br>
<br>
We began as wanderers, and we are wanderers still. We have lingered<br>
long enough on the shores of the cosmic ocean. We are ready at last to<br>
set sail for the stars - Carl Sagan<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Olsr-dev mailing list<br>
<a href="mailto:Olsr-dev@lists.olsr.org">Olsr-dev@lists.olsr.org</a><br>
<a href="https://lists.olsr.org/mailman/listinfo/olsr-dev" target="_blank">https://lists.olsr.org/mailman/listinfo/olsr-dev</a><br>
</font></span></div><br><br clear="all"><div><br></div>-- <br>Alessio "nolith" Caiazza<br>il sapere umano appartiene al mondo.<br>GPG 440C5437
</div></div>