blob: ba58c046483bf7c997c272b72a2b8f14501c0b20 [file] [log] [blame]
# Copyright (c) 2016 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
menuconfig NET_L2_IEEE802154
bool "Enable IEEE 802.15.4 Radio"
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 "Enable 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.
if NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET
choice
prompt "Which packet do you want to print-out?"
default NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_FULL
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
endif # NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET
config NET_L2_IEEE802154_ACK_REPLY
bool "Enable 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 "Enable 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 "Enable 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 "Enable IEEE 802.15.4 security [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