incubator-nuttx/wireless/ieee802154
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 build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
Make.defs tools: replace INCDIR to Makefile variable 2022-11-03 19:59:55 +08:00
README.txt
ieee802154_primitive.c
mac802154.c wireless/ieee802154: add missinf FAR 2023-05-19 02:40:38 +08:00
mac802154.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mac802154_assoc.c mm/iob: iob members are initialized after allocate 2022-12-16 09:51:53 +08:00
mac802154_assoc.h
mac802154_bind.c
mac802154_data.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mac802154_data.h
mac802154_device.c inode/i_private: remove all unnecessary cast for i_private 2023-08-29 08:58:07 +02:00
mac802154_disassoc.c
mac802154_get_mhrlen.c
mac802154_getset.c
mac802154_gts.c
mac802154_internal.h c89: move variable declaration out from the for loop 2023-08-08 11:58:29 -03:00
mac802154_ioctl.c
mac802154_loopback.c net: Remove devif_timer from comment 2022-06-07 20:15:41 +03:00
mac802154_netdev.c netdev/ipv6: Move `xxx_ipv6multicast` from arch to common code 2023-12-16 05:26:16 -08:00
mac802154_orphan.c
mac802154_poll.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mac802154_poll.h
mac802154_purge.c
mac802154_reset.c
mac802154_rxenable.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mac802154_scan.c nxstyle: cleanup UTF-8 Unicode to ASCII 2023-09-18 11:54:17 -04:00
mac802154_scan.h
mac802154_start.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mac802154_sync.c

README.txt

This will eventually hold some general documentation for the IEEE 802.15.4
MAC implementation.

NOTE: Throughout the code, excerpts from the standard are quoted as to make
the code thoroughly readable. I have tried, to always put a reference [1] and
page number.  Below is the references that correspond with the reference number

[1]