zephyr/subsys/net
Jukka Rissanen ca8b00a3cc net: if: Make interface IP configuration more flexible
Instead of always allocating both IPv6 and IPv4 address information
to every network interface, allow more fine grained address
configuration. So it is possible to have IPv6 or IPv4 only network
interfaces.

This commit introduces two new config options:
CONFIG_NET_IF_MAX_IPV4_COUNT and CONFIG_NET_IF_MAX_IPV6_COUNT
which tell how many IP address information structs are allocated
statically. At runtime when network interface is setup, it is then
possible to attach this IP address info struct to a specific
network interface. This can save considerable amount of memory
as the IP address information struct can be quite large (depends
on how many IP addresses user configures in the system).

Note that the value of CONFIG_NET_IF_MAX_IPV4_COUNT and
CONFIG_NET_IF_MAX_IPV6_COUNT should reflect the estimated number of
network interfaces in the system. So if if CONFIG_NET_IF_MAX_IPV6_COUNT
is set to 1 and there are two network interfaces that need IPv6
addresses, then the system will not be able to setup IPv6 addresses to
the second network interface in this case. This scenario might be
just fine if the second network interface is IPv4 only. The net_if.c
will print a warning during startup if mismatch about the counts and
the actual number of network interface is detected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-03-27 10:06:54 -04:00
..
ip net: if: Make interface IP configuration more flexible 2018-03-27 10:06:54 -04:00
lib net: if: Make interface IP configuration more flexible 2018-03-27 10:06:54 -04:00
buf.c net: buf: Support allocation of a net_buf pointing to external buffer 2018-02-13 16:46:32 +02:00
CMakeLists.txt net/ieee802154: Make RAW mode generic 2017-11-22 10:10:09 -05:00
hostname.c net: Add hostname setting to Kconfig 2017-10-17 08:36:39 -04:00
Kconfig net: buf: Set default user data size to 4 2018-02-12 09:48:32 +02:00
Kconfig.hostname kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
TODO Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_* 2017-08-09 11:14:19 +03:00