incubator-nuttx/net/icmpv6
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
..
CMakeLists.txt netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
Kconfig netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
Make.defs netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
icmpv6.h netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
icmpv6_advertise.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_autoconfig.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_conn.c icmpv6: add SOCK_RAW type support 2023-05-07 22:43:10 +08:00
icmpv6_initialize.c netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
icmpv6_input.c ipv6: Fix source address with many addresses in same network 2023-12-13 06:13:25 -08:00
icmpv6_ioctl.c net: Add FIOC_FILEPATH ioctl support for ICMP(v6)/RPMsg/Usrsock sockets 2023-08-15 15:00:59 +08:00
icmpv6_linkipaddr.c
icmpv6_neighbor.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_netpoll.c poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
icmpv6_notify.c net: consistent the net sem wait naming conversion 2023-01-15 12:31:30 -03:00
icmpv6_pmtu.c nuttx/net:Support to PMTUD 2023-05-12 10:21:52 -03:00
icmpv6_poll.c net/devif_poll: optimize device buffer alloc in txpoll 2023-01-13 16:41:10 +08:00
icmpv6_radvertise.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_recvmsg.c net/assert: remove all unnecessary check for psock/conn 2023-08-30 20:36:49 +08:00
icmpv6_reply.c ipv6: Fix source address with many addresses in same network 2023-12-13 06:13:25 -08:00
icmpv6_rnotify.c net/icmpv6:Optimize the process of obtaining the IPv6 address through RA. 2023-12-05 23:40:37 -08:00
icmpv6_rsolicit.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_sendmsg.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
icmpv6_sockif.c net/assert: remove all unnecessary check for psock/conn 2023-08-30 20:36:49 +08:00
icmpv6_solicit.c net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00