| # Copyright (c) 2016 Intel Corporation. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menuconfig NET_L2_IEEE802154 |
| bool "IEEE 802.15.4 Radio" |
| select NET_L2_PHY_IEEE802154 |
| help |
| Add support for low rate WPAN IEEE 802.15.4 technology. |
| |
| if NET_L2_IEEE802154 |
| |
| config NET_L2_IEEE802154_MGMT |
| bool |
| select NET_MGMT |
| select NET_MGMT_EVENT |
| |
| config NET_L2_IEEE802154_SUB_GHZ |
| bool |
| help |
| Enable support for Sub-GHz devices. This will add a tiny bit more |
| logic in L2 code for channel management. This option is automatically |
| selected when relevant device driver is enabled. |
| |
| module = NET_L2_IEEE802154 |
| module-dep = NET_LOG |
| module-str = Log level for IEEE 802.15.4 |
| module-help = Enables IEEE 802.15.4 code to output debug messages. |
| source "subsys/net/Kconfig.template.log_config.net" |
| |
| config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET |
| bool "IEEE 802.15.4 packet display" |
| depends on NET_LOG |
| help |
| Enable printing out in/out 802.15.4 packets. This is extremely |
| verbose, do not enable this unless you know what you are doing. |
| |
| choice |
| prompt "Which packet do you want to print-out?" |
| default NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_FULL |
| depends on NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET |
| |
| config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_FULL |
| bool "Print-out both RX and TX packets" |
| help |
| This will print-out both received and transmitted packets. |
| |
| config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_RX |
| bool "Print-out only RX packets" |
| help |
| This will print-out received packets only. |
| |
| config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_TX |
| bool "Print-out only TX packets" |
| help |
| This will print-out transmitted packets only. |
| |
| endchoice |
| |
| config NET_L2_IEEE802154_ACK_REPLY |
| bool "IEEE 802.15.4 ACK reply logic" |
| help |
| Enable inner stack's logic on handling ACK request. Note that |
| if the hw driver has an AUTOACK feature, this is then unnecessary. |
| |
| choice |
| prompt "Device features level support" |
| default NET_L2_IEEE802154_RFD |
| help |
| Select which features level you want on the device. Depending on it, |
| the device might expose more or less 802.15.4 protocol features. |
| Only RFD is supported for now. |
| |
| config NET_L2_IEEE802154_RFD |
| bool "Support Reduced Functionality Device level" |
| select NET_L2_IEEE802154_MGMT |
| help |
| This is the level for PAN device, not PAN coordinator. This will make |
| possible to do active and/or passive scans, as well as associating |
| and disassociating to/from a PAN. Current support is very fragile, |
| thus it is not set as the default level. |
| endchoice |
| |
| config NET_L2_IEEE802154_SHELL |
| bool "IEEE 802.15.4 shell module" |
| select SHELL |
| depends on NET_L2_IEEE802154_RFD |
| help |
| This can be used for testing 15.4 through the console via exposing |
| a shell module named "ieee15_4". |
| |
| config NET_L2_IEEE802154_FRAGMENT |
| bool "802.15.4 fragmentation support" |
| default y |
| depends on NET_6LO |
| help |
| If IPv6 packets size more than 802.15.4 MTU, packet is fragmented |
| and reassemble incoming packets according to RFC4944/6282. |
| |
| config NET_L2_IEEE802154_FRAGMENT_REASS_CACHE_SIZE |
| int "IEEE 802.15.4 Reassembly cache size" |
| depends on NET_L2_IEEE802154_FRAGMENT |
| default 1 |
| help |
| Simultaneously reassemble 802.15.4 fragments depending on |
| cache size. |
| |
| config NET_L2_IEEE802154_REASSEMBLY_TIMEOUT |
| int "IEEE 802.15.4 Reassembly timeout in seconds" |
| depends on NET_L2_IEEE802154_FRAGMENT |
| default 5 |
| range 1 60 |
| help |
| Reassembly timer will start as soon as first packet received |
| from peer. Reassembly should be finished within a given time. |
| Otherwise all accumulated fragments are dropped. |
| |
| config NET_L2_IEEE802154_SECURITY |
| bool "IEEE 802.15.4 security [EXPERIMENTAL]" |
| select EXPERIMENTAL |
| help |
| Enable 802.15.4 frame security handling, in order to bring data |
| confidentiality and authenticity. |
| |
| config NET_L2_IEEE802154_SECURITY_CRYPTO_DEV_NAME |
| string "Crypto device name used for <en/de>cryption" |
| default "" |
| depends on NET_L2_IEEE802154_SECURITY |
| help |
| This option should be used to set the crypto device name that |
| IEEE 802.15.4 soft MAC will use to run authentication, encryption and |
| decryption operations on incoming/outgoing frames. |
| |
| source "subsys/net/l2/ieee802154/Kconfig.radio" |
| |
| endif |