zephyr/subsys/net/ip
Robert Lubos 7b6e7d6088 net: ipv6: Improve Neighbor Discovery thread safety
Currently, the only thread-safe part of the IPv6 Neighbor processing
implementation are stale_counter related operation.

Fix this, by extending the mutex protection over all of the module, so
that message handlers, timers and API functions do not interfere with
each other.

As IPv6 Neighbor cache is tightly coupled with the Routing module, use
the same mutex to protect both, neighbor and routing tables, to prevent
deadlocks.

Also, replace the semaphore used with a mutex, as it seems more fit for
this particular job.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-09 16:34:34 -06:00
..
6lo.c
6lo.h
6lo_private.h
CMakeLists.txt net: dhcpv6: Move DHCPv6 files to lib directory 2024-01-29 13:47:05 +01:00
Kconfig
Kconfig.debug
Kconfig.ipv4
Kconfig.ipv6 net: dhcpv6: Move DHCPv6 files to lib directory 2024-01-29 13:47:05 +01:00
Kconfig.mgmt
Kconfig.stack
Kconfig.stats
Kconfig.tcp net: ipv6: nbr: Add IPv6 reachability confirmation API 2024-01-31 14:50:53 +01:00
canbus_socket.c
canbus_socket.h
connection.c
connection.h
icmp.c
icmpv4.c net: icmp: Don't report error on ICMP messages w/o handler 2024-01-29 14:57:35 +00:00
icmpv4.h
icmpv6.c net: icmp: Don't report error on ICMP messages w/o handler 2024-01-29 14:57:35 +00:00
icmpv6.h
igmp.c
ipv4.c
ipv4.h
ipv4_autoconf.c
ipv4_autoconf_internal.h
ipv4_fragment.c
ipv6.c
ipv6.h net: ipv6: Improve Neighbor Discovery thread safety 2024-02-09 16:34:34 -06:00
ipv6_fragment.c
ipv6_mld.c
ipv6_nbr.c net: ipv6: Improve Neighbor Discovery thread safety 2024-02-09 16:34:34 -06:00
nbr.c
nbr.h
net_context.c
net_core.c net: dhcpv6: Move DHCPv6 files to lib directory 2024-01-29 13:47:05 +01:00
net_if.c
net_mgmt.c
net_pkt.c
net_private.h
net_stats.c
net_stats.h
net_tc.c
net_tc_mapping.h
net_timeout.c
packet_socket.c
packet_socket.h
promiscuous.c
route.c net: ipv6: Improve Neighbor Discovery thread safety 2024-02-09 16:34:34 -06:00
route.h
tcp.c net: tcp: Rate-limiting of neighbor reachability hints 2024-02-09 16:26:10 -06:00
tcp.h
tcp_internal.h
tcp_private.h net: tcp: Rate-limiting of neighbor reachability hints 2024-02-09 16:26:10 -06:00
tp.c
tp.h
tp_priv.h
udp.c
udp_internal.h
utils.c