mac802154: Fixes issues with extended address. 1) Extended address should be read-only. 2) Extended address should be placed in frame in "reverse-canonical" order.
The extended address is a read-only attribute and thus an attempt to write the extended address should be denied. Instead, the extended address should really be either set by the PHY/radio itself, or provided at board bring-up time to the radio layer. The MAC layer now pulls in the extended address from the radio any time the MAC is reset.
The extended address is also supposed to be sent in the frame in reverse-canonical order. This is very confusing in the standard and it wasn't until I realized it was backwards in Wireshark that I researched this further. Searching online I find documents from the committee for suggestions/feedback on the future standard. It isn't in the 2015 standard but a newer version of the standard will presumably clarify this. It says that the extended address should be written in reverse-canonical form, meaning the OUI comes last, not first inside the frame.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
mac802154_netdev: Allow 64-bit prefix to be configurable when auto-configuring the IPv6 address during bring-up.
Previously, the link-local prefix fe80::/64 was used. Also, put the network in the DOWN state at the end of initialization.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
wireless/bluetooth: This completes the basic logic path that gets frames from the Bluetooth stack and into the network layer.
wireless/bluetooth: Fleshes out some of the network packet receive logic.
wireless/bluetooth: Replace buffer allocated with primitive allocator from ieee 802.15.4.
wireless/ieee802154: Fix a few typos.
wireless/bluetooth: More renaming in preparation for some real work.
wireless/bluetooth: Some trivial renaming; update comments
ieee802154: Simplifies notify() and rxframe() calls to a single notify() call. dataind's and all other "notifs" are now "primitives" which aligns with standard terminology
* mac802154: Adds missing breaks from case statement
* sixlowpan: Fixes bad logic where ACK is not requested if address is not a broadcast
* ieee802154: Simplification of "notifs" and "datainds" to generic primitives passed via a single notify call to the layer above the MAC
* Directories.mk should reference CONFIG_WIRELESS instead of CONFIG_DRIVERS_WIRELESS
* xbee_netdev: Network must be locked when calling sixlowpan_input
* sixlowpan: Reassembly buffer can't be freed if provided by radio driver
* sixlowpan: Don't free IOB if there is an error processing it as the MAC will try to pass it along to another receiver
* ieee802154: Adds basic logging to ieee802154_primitive.c
* Minor fixes after rebase
* xbee: Adds AT query timeout to retry if XBee doesn't respond to request
* same70-xplained: Adds Xbee support. Makes mikroBus slot Kconfig 'choice'
* mac802154: Removes unused function declaration
* drivers/mrf24j40: Fixes compilation error using . operator rather than -> operator
* mac802154_device: Changes a few mac802154_primtive_free's to ieee802154_primitive_free() and changes notif to primitive in a couple places.
* mac802154: Adds promiscous mode logic to bypass parsing of incoming frames. MAC char device also checks for promiscous mode and passes whole frames including header and FCS to the application if promiscous mode is enabled.
* sixlowpan: Fixes logic to correctly check if packet is large enough to include header. This would cause packets to be considered too small when they are sufficiently sized.
* sixlowpan: Fixes forwarding logic to use forwarding device rather than received device to look up destination link layer address
* net/ipforward: Fixes typo that caused build error when IP forwarding was enabled with CONFIG_NET_ICMPv6_NEIGHBOR enabled as well.
* configs/same70-xplained: Simple spelling fix
Approved-by: Gregory Nutt <gnutt@nuttx.org>
commit 5b7b6e6e616c475c782e9883ada9f4a3b7cb4e2c
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Aug 20 11:13:17 2017 -0600
IEEE 802.15.4 network device: Make same changes as per loopback device so that it will build with PF_IEEE802154 but without 6LoWPAN.
commit d656a98cf8eab2f20e884224b52cd47ec35df4cc
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Aug 20 10:31:28 2017 -0600
PF_IEEE802154: More fixes to device registration and to IEEE 802.15.4 loopback driver for PF_IEEE802154 without 6LoWPAN.
commit 866bb9cbb0c5af79734bbd434c07fa2560b6608f
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Aug 20 09:58:13 2017 -0600
Network: Reorganize some Kconfig selections.
commit 230b4cb48008cba5fccdafa22340df1d43584829
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Aug 20 09:19:53 2017 -0600
Changes to conditional compilation so that PF_IEEE802154 can build without 6LoWPAN
commit d96cbd6520d40590a740f695c4cd72208ce872da
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sun Aug 20 09:17:02 2017 -0600
configs/sim/pf_ieee802154: Disable 6LoWPAN, IPv6, TCP, and UDP. Now things do not build