[Olsr-users] running DLEP radio/router outside of OLSR

joe gio (spam-protected)
Wed Feb 25 14:58:15 CET 2015


Hi Henning,

Thanks for the info!

I was working out of oonf_api, but your links reference oonf which is
much more up to date.

I suppose I'll be using the later.

Thanks again.

Joe



On 02/25/2015 02:20 AM, Henning Rogge wrote:
> On Wed, Feb 25, 2015 at 1:20 AM, joe gio <(spam-protected)> wrote:
>> Hi
>>
>> Id like to experiment with the DLEP Radio and Router plugins outside of
>> OLSR.
>> Is this possible or am I on the wrong track ?
>>
>> Example below built against oonf_api but crashes on init see below.
> ...
>
>> #0  0xb778e726 in __list_add (new=0xb77b3ab4 <_interface_class+20>,
>> next=0x0, prev=0xb776d888 <oonf_classes>) at
>> /home/Devel/r2ri/oonf_api.git/oonf_api/src-api/common/list.h:96
>> #1  list_add_head (new=0xb77b3ab4 <_interface_class+20>, head=0xb776d888
>> <oonf_classes>) at
>> /home/Devel/r2ri/oonf_api.git/oonf_api/src-api/common/list.h:107
>> #2  avl_insert (tree=0xb776d888 <oonf_classes>, new=0xb77b3ab4
>> <_interface_class+20>) at
>> /home/Devel/r2ri/oonf_api.git/oonf_api/src-api/common/avl.c:208
>> #3  0xb773b42b in oonf_class_add (ci=0xb77b3aa0 <_interface_class>) at
>> /home//Devel/r2ri/oonf_api.git/oonf_api/src-api/subsystems/oonf_class.c:117
>> #4  0xb77ad200 in dlep_radio_interface_init () at
>> /home/Devel/r2ri/oonf_api.git/oonf_api/src-plugins/dlep/radio/dlep_radio_interface.c:84
>> #5  0xb77ad019 in _init () at
>> /home/Devel/r2ri/oonf_api.git/oonf_api/src-plugins/dlep/radio/dlep_radio.c:132
>> #6  0x08048780 in main (argc=1, argv=0xbfbd7aa4) at main.c:17
> Just as an additional explanation what is going wrong... as you can
> see from the stacktrace the dlep_radio code is calling into the
> oonf_class subsystem... which is (at this moment) of course not
> initialized.
>
> When you look into the dlep_radio code (line 114)
> http://olsr.org/git/?p=oonf.git;a=blob;f=src-plugins/generic/dlep/radio/dlep_radio.c;h=33e88ba3a75ba517f1d756e9a8b1b3308c8cc4ef;hb=master#l114
>
> you will see a list of dependencies:
> static const char *_dependencies[] = {
>   OONF_CLASS_SUBSYSTEM,
>   OONF_LAYER2_SUBSYSTEM,
>   OONF_PACKET_SUBSYSTEM,
>   OONF_STREAM_SUBSYSTEM,
>   OONF_TIMER_SUBSYSTEM,
> };
>
> All these plugins/subsystems must be initialized for DLEP_radio to
> work... and some of them have dependencies of their own.
>
> A look at the generic OONF "main function" might also help the amount
> of initialization going on at the start:
> http://olsr.org/git/?p=oonf.git;a=blob;f=src-api/core/oonf_main.c;h=0abf6666dc1e10a42e6874496285a27116d6cff5;hb=master
>
> Henning Rogge
>
>





More information about the Olsr-users mailing list