On Thursday 26 September 2013 10:29:49 Matthias Schiffer wrote:
batman-adv saves its table of packet handlers as a global state, so handlers must be set up only once (and setting them up a second time will fail).
The recently-added network coding support tries to set up its handler each time a new softif is registered, which obviously fails when more that one softif is used (and in consequence, the softif creation fails).
Fix this by moving the handler setup to batadv_recv_handler_init(), which is called by batman-adv's __init function (and where most other packet handlers are set up).
Would you mind changing your approach to adding a global nc_init() / nc_free() and do the callback registration there ?
Thanks, Marek