[Olsr-dev] Olsr-dev Digest, Vol 28, Issue 11

Jernej Kos (spam-protected)
Mon Sep 14 12:07:41 CEST 2009


On Monday 14 of September 2009, (spam-protected) wrote:
> Are you using the free open source code for the web page image generator
> or this is your own legacy development??
> If this is open source Can you please share it (the setup details and
> source) with the OLSR community so that all can also make the community
> setup to test OLSR....:)

Yeah, all the code used on the site and gateways is the work of our own 
development. But it is ofcourse all open and can be obtained via our SVN 
repository. Currently some things are pretty project-specific and there is 
currently no documentation for deployment (we are getting to that).

Check the following links:


There are many components to our system:

  * OpenWRT based build repository that is used to generate so called image 
builders (in the next version we will be moving towards a vendor branch of 
OpenWRT for easier merging of changes). It contains some custom packages for 
monitoring and some patches for other packages. This part can be found 
under "openwrt-200901".

  * Then there is the image generator (under "generator") that is a Python 
based script that receives metadata (from the web frontend) via beanstalkd 
and prepares full router configuration based on that. Then it uses OpenWRT's 
image builders (mentioned above) to actually generate a firmware image from 
that configuration (users can also choose that they only want a reference 
configuration without an actual firmware). A checksum is then generated and 
links for image download are sent to the user's e-mail address.

  * Another server-side component is the "gwpolicyd" that handles tc (Linux 
traffic policy framework) rule generation for limiting bandwidth on VPN 
gateways (these limits can be set via the web frontend). It currently 
supports limits based on MAC addresses and IPv4 addresses and generates a 
double hashtable for tc rule matching so the thing can easily scale.

  * Then comes the "nodewatcher" that contains the web frontend and the 
monitoring system. The latter is a Python daemon that periodically checks 
OLSR topology information, HNA announces, performs ICMP ECHO tests and node 
status information transfer. It also generates graphs via rrdtool to be 
displayed on the web. Monitoring daemon can be found 
under "nodewatcher/monitor" and web (Django based) frontend 
under "nodewatcher/web".

This should describe all components of our framework, so if you want to check 
it out please do so :) Currently deployment is probably a bit nasty as some 
paths and IPs are hardcoded and some things need to be initialized in the 
database (like allocation pools and router image builder profiles).

In the future we will probably fix these shortcomings so this thing will be 
simpler to deploy, but currently this is not our priority as we have a lot of 
work to do with actual network deployment and testing.
Jernej Kos <(spam-protected)>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.olsr.org/pipermail/olsr-dev/attachments/20090914/c3f7ed63/attachment.sig>

More information about the Olsr-dev mailing list