MAC Layer Implementation in RIOT

Dear Alper, what exactly do you mean by “IEEE 802.15.4 MAC” layer? As far as I know, IEEE 802.15.4 still only has 802.15.4e as an “official” MAC layer in an extended specification, but it is not part of the official standard yet. /sys/net/link_layer/ieee802154 only implements the handling of IEEE 802.15.4 headers, but a very basic MAC (just send/receive data without any assurance) is implemented in sys/net/gnrc/link_layer/netdev2/gnrc_netdev2_ieee802154.c for the GNRC stack. There are however several other solutions for MAC with IEEE 802.15.4 currently under development (see [1] [2] [3] [4]). For IEEE 802.15.4e support we currently use the OpenWSN stack [5] [6], but a stand-alone module is planned. In general, both solutions (within the stack using one of the provided MAC modules or using capabilities provided by the device) are possible, depending on the features provided by the device.

Hope this made things clearer for you. Best regards, Martine Lenders

[1] https://github.com/RIOT-OS/RIOT/pull/3730 [2] https://github.com/RIOT-OS/RIOT/pull/4180 [3] https://github.com/RIOT-OS/RIOT/pull/4184 [4] https://github.com/RIOT-OS/RIOT/pull/4213 [5] https://openwsn.atlassian.net/wiki/pages/viewpage.action?pageId=688187 [6] https://github.com/RIOT-OS/RIOT/tree/master/pkg/openwsn