zephyr/subsys/net
Florian Vaussard 2eb7433f5b net: if: do not remove the solicited-node multicast address if used
Two different IPv6 addresses can have the same solicited node multicast
address, for example when they are derived from the same EUI-64
interface identifier during the auto-configuration process. For example,
an interface with a physical address 70:07:12:34:56:78 can have the
following:
- link-local address FE80::7207:12FF:FE34:5678
- global unicast address 2001🔢::7207:12FF:FE34:5678

Both addresses will have the same solicited-node multicast address
FF02::1:FF34:5678. Currently, if one removes the global unicast address,
the solicited-node multicast address is also removed, leaving the
link-local address out of the solicited-node multicast group. This
breaks some protocols like Neighbour Discovery.

Count how many times the solicited-node multicast address is used and
remove it only if it is not shared by any other unicast address.

Fixes #59683

Signed-off-by: Florian Vaussard <florian.vaussard@gmail.com>
2023-06-28 06:51:21 +00:00
..
conn_mgr iterable_sections: move to specific header 2023-05-22 10:42:30 +02:00
ip net: if: do not remove the solicited-node multicast address if used 2023-06-28 06:51:21 +00:00
l2 net: wifi: Fix power save timeout data type 2023-06-27 12:17:26 +00:00
lib net: lib: coap: Use zsock_ functions 2023-06-28 06:49:59 +00:00
pkt_filter
buf_simple.c net: buf: Factor out net_buf_simple to separate source file 2023-03-15 10:50:16 +01:00
buf.c net: buf: fix data ref_count offset in generic_data_ref() 2023-05-31 10:01:40 -04:00
CMakeLists.txt net: conn_mgr: Reorganize files 2023-05-11 12:15:44 +02:00
hostname.c
Kconfig net: conn_mgr: Reorganize files 2023-05-11 12:15:44 +02:00
Kconfig.hostname
Kconfig.template.log_config.default.net
Kconfig.template.log_config.net