incubator-nuttx/net
Zhe Weng 5aeb15469a netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code
The `xxx_ipv6multicast` function in each driver is not adapted to
multiple IPv6 addresses yet, and they're redundant, so try to take them
into common code.

Change:
1. Add MAC `g_ipv6_ethallnodes` and `g_ipv6_ethallrouters` in
   `icmpv6_devinit` and call them in `netdev_register`
2. Add multicast MAC for Neighbor Solicitation when adding any IPv6
   address, and remove them when IPv6 address is removed
3. Select `NET_MCASTGROUP` when `NET_ICMPv6` because now we need
   `d_addmac` when we have ICMPv6

Note:
We want modules outside net stack to call functions like
`netdev_ipv6_add` and never touch the related MAC address, so these MAC
functions are added as internal functions to `net/netdev/netdev.h`

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-12-16 05:26:16 -08:00
..
arp net/arp: arp should depends on MM_IOB 2023-09-12 16:24:52 +08:00
bluetooth net/assert: remove all unnecessary check for psock/conn 2023-08-30 20:36:49 +08:00
can poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
devif udp: Add support for SO_TIMESTAMP 2023-11-18 03:10:29 -08:00
icmp poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
icmpv6 netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
ieee802154 net/assert: remove all unnecessary check for psock/conn 2023-08-30 20:36:49 +08:00
igmp igmp: call IFF_SET_IPv4 when igmp_send 2023-11-16 07:29:48 -08:00
inet ipv6: Fix source address with many addresses in same network 2023-12-13 06:13:25 -08:00
ipforward build: add initial cmake build system 2023-07-08 13:50:48 +08:00
ipfrag net/ipfrag:Fixed ref not initializing warning issue 2023-07-26 08:36:04 -03:00
local poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
mld net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
nat mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
neighbor net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
netdev netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
netfilter build: add initial cmake build system 2023-07-08 13:50:48 +08:00
netlink Remove @ and % tag from all comments 2023-12-11 17:00:10 -03:00
pkt net/assert: remove all unnecessary check for psock/conn 2023-08-30 20:36:49 +08:00
procfs net/procfs: Support printing multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
route net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
rpmsg poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
sixlowpan net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
socket udp: Add support for SO_TIMESTAMP 2023-11-18 03:10:29 -08:00
tcp tcp: Recover from iob shortage with TCP_WRITE_BUFFERS 2023-12-15 20:12:13 -08:00
udp ipv6: Fix source address with many addresses in same network 2023-12-13 06:13:25 -08:00
usrsock poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
utils net/utils: Switch argument order of net_ipv6_pref2mask 2023-11-07 19:30:36 +08:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig udp: Add support for SO_TIMESTAMP 2023-11-18 03:10:29 -08:00
Makefile
net_initialize.c