I removed the hardcoded (and BTW never checked) limit on 16 interfaces:
authorBernd Petrovitsch <bernd@firmix.at>
Wed, 15 Nov 2006 23:07:59 +0000 (23:07 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Wed, 15 Nov 2006 23:07:59 +0000 (23:07 +0000)
commitb464b1e103e56940804be48584314fd460bcd733
treea15d0d316ee6c64e6978c91325ac54dacaf35d96
parent103e897dad63d000af2668028387e61bbc7d0701
I removed the hardcoded (and BTW never checked) limit on 16 interfaces:

We do this by adding the "struct netbuf" to the "struct interface" because
- we avoid maintaining a separate array of pointers and malloc(3)ed struct's.
- we avoid therefore lots of malloc(3) and free(3).
- we need such a thing anyway for each interface, so why not put it in there
  (and libnet_ctx is also there).
- we do not longer neeed the interface-index as a separate field.

Does anyone know if the MTU of an interface may chnage (and if yes, when)?
Otherwise we could get rid of another field in that struct (and a few lines
of code).

I compile-tested with `make build_all USE_LIBNET=1` but didn't run it.

Downside: One must initialize this struct (or at least the pointer to the
          actual buffer). Therefore the one line change in src/unix/ifnet.c.
          Therefore I broke very probably the Windows port and I can' figure out
          if and where to add such an equivalent thing.

Other changes:
- The libnet_ctx field in struct interface is also in a
  #ifdef USE_LIBNET ... #endif section.
src/defs.h
src/interfaces.h
src/net_olsr.c
src/unix/ifnet.c