[OLSR-users] RE: Dot topology plugin
John Gorkos
(spam-protected)
Thu Oct 21 17:31:42 CEST 2004
>We are here considering programming a simple plugin that provides access to
>OLSRD internal state. As mentioned in my previous message, it should allow
>multiple clients.
>
>This would be more flexible than providing a DOT description of the network.
>If one wants a DOT description, a small program that connects, grabs the
>OLSRD internal state, and generates the DOT would suffice. More modular.
>
>Here are the alternatives. I would like to hear you opinion before starting
>to code:
>
>Threads:
>
>1- Non-threaded plugin. Has the potential "send() block" problem I
>described.
>
>2- Threaded plugin. A bit more complex.
>
>Notification/polling:
>
>1- Notification: a client connects. Immediatelly, it gets the current OLSRD
>internal state. Then, as long as the connection is open, it gets the new
>state every time it changes.
>
>2- Polling: a client connects, and sends a simple command to which the
>plugin responds sending the OLSRD internal state.
>
>Polling has the advantage that when implemented as a non-threaded plugin, it
>is very unlikely to display the "send() block" problem, since the plugin
>will send only upon request. If the clien vanishes from the network the TCP
>buffers will not become full, unless the complete internal state is bigger
>that the TCP buffers.
>
>
Using olsr from a commercial standpoint brings me to the following place:
1. I need a single point of information that will let me see the entire
network topology.
2. I need to be able to have multiple clients connected receiving
topology information.
3. The amount of information I need is minimal (i.e. the DOT file is
great, but contains more information than I need). I really only need
IPa-IPb:status.
The idea for me is to write a java applet that connects to a mapserver
and downloads an image of a geographic area, and then opens a TCP
connection to a single node in the mesh network and begins displaying
node status in real-time. This brings up the necesity of some type of
geo-coded information, and where to store it. Right now, I have a flat
file that has IP-address, longitude, latitude and I do a lookup every
time I re-draw the map.
In a future iteration, it would be really slick to have a geo-coding
message in the OLSR stream itself. This plugin would be able to either
read static data from a file (or from the configuration file), or
connect to a gpsd daemon and read real-time positional data.
The ability to visualize the network is increasingly important as the
number of nodes increases. Having a plugin that can support multiple
clients and provide an immediate network picture, followed by periodic
updates, is essential to commercialization of olsr.
John Gorkos
More information about the Olsr-users
mailing list