[Olsr-dev] olsrd-0.5.2 released

Sven-Ola Tuecke (spam-protected)
Wed Jul 18 13:16:01 CEST 2007


Hi Bernd,

by "smoke test" I mean a good habit normally done by engineers. Buy new 
gadged. Plug in the plug. Look if it burns/smokes or not <ggg>. Here: Do a 
check if the software compiles and runs fine on a test system. With some 
plugins activate maybe...

// Sven-Ola

"Bernd Petrovitsch" <(spam-protected)> schrieb im Newsbeitrag 
news:(spam-protected)
> On Wed, 2007-07-18 at 12:32 +0200, Sven-Ola Tuecke wrote:
>> Hi all,
>>
>> really not a showstopper, but this time someone has fiddeled with the 
>> plugin
>
> Yup, /me.
>
>> interface. For at least half of the plugins included with
>> olsrd-0.5.2.tar.bz2, the transition from PLUG_VER 4 to 5 is not complete
>> currently. Example: nameservice, bmf, quagga etc will not load out of the
>> box.
>>
>> @package-maintainers: Please compile with:
>> make DEFINES='-DSUPPORT_OLD_PLUGIN_VERSIONS=1'
>
> Ooops, .....
> Fixed in CVS-HEAD.
>
>> @Bernd: Can we introduce a simple "smoke test procedure"? And a wish: Can
>
> ^^^^^^^^^^^^^^^^^^^^
> What do you mean with this?
>
>> the plugin-iface-maintainer write down a small note on what to change for
>> external plugins?
>
> Of course:
>
> The plugin should export the function
> ----  snip  ----
> void olsrd_get_plugin_parameters(const struct olsrd_plugin_parameters 
> **params, int *size)
> ----  snip  ----
> (replacing  completely "olsrd_plugin_register_param").
>
> It exports a pointer to a table of (to be found in src/olsrd_plugin.h)
> ----  snip  ----
> struct olsrd_plugin_parameters {
>    const char *name;
>    set_plugin_parameter set_plugin_parameter;
>    void *data;
> };
> ----  snip  ----
> containing the name of the parameter, a function to be called if the
> parameter is found and some address where to store the result. And the
> "int *" gives the size of the table (as I don't like tables with
> terminating "0" rows if the row is more an an int or pointer).
>
> It is a function and not the table (+size) as such so that the plugin
> could e.g. generate the table at run-time (for whatever reason and
> motivation).
>
> The function is a
> ----  snip  ----
> typedef int (*set_plugin_parameter)(const char *value, void *data);
> ----  snip  ----
> and gets the value of the parameter from olsrd.conf and the "data" from
> the table above (so one can use the same function twice for two
> different parameters of the same type).
>
> The parameter name is case-insensitive since now (so all old
> configurations should work with that respect).
> The interpretation of the value depends obviously on the function. And I
> intend to put more often used functions somewhere central to be used by
> all plugins (do that "parse a port number" is one piece of code and thus
> consistent through all plugins).
>
> Use e.g. the txtinfo plugin as a "template" (hmm, not to self: I should
> migrate the "mini" plugin too).
>
> The simple solution is to put them into the main program even if they
> are not really needed there. Another is to put each of them in
> separate .c files (in a special directory) and plugins #include or link
> against them (which also leads to "bloat" but in a different way).
>
> The problem is ATM in the back of my head and waiting for a "nice
> solution"(TM) ...
>
> Bernd
> -- 
> Firmix Software GmbH                   http://www.firmix.at/
> mobil: +43 664 4416156                 fax: +43 1 7890849-55
>          Embedded Linux Development and Services
>
>
>
> -- 
> Olsr-dev mailing list
> (spam-protected)
> http://lists.olsr.org/mailman/listinfo/olsr-dev 





More information about the Olsr-dev mailing list