1# Copyright (c) 2016 Intel Corporation. 2# SPDX-License-Identifier: Apache-2.0 3 4menuconfig NET_L2_IEEE802154 5 bool "Enable IEEE 802.15.4 Radio" 6 help 7 Add support for low rate WPAN IEEE 802.15.4 technology. 8 9if NET_L2_IEEE802154 10 11config NET_L2_IEEE802154_MGMT 12 bool 13 select NET_MGMT 14 select NET_MGMT_EVENT 15 16config NET_L2_IEEE802154_SUB_GHZ 17 bool 18 help 19 Enable support for Sub-GHz devices. This will add a tiny bit more 20 logic in L2 code for channel management. This option is automatically 21 selected when relevant device driver is enabled. 22 23module = NET_L2_IEEE802154 24module-dep = NET_LOG 25module-str = Log level for IEEE 802.15.4 26module-help = Enables IEEE 802.15.4 code to output debug messages. 27source "subsys/net/Kconfig.template.log_config.net" 28 29config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET 30 bool "Enable IEEE 802.15.4 packet display" 31 depends on NET_LOG 32 help 33 Enable printing out in/out 802.15.4 packets. This is extremely 34 verbose, do not enable this unless you know what you are doing. 35 36choice 37 prompt "Which packet do you want to print-out?" 38 default NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_FULL 39 depends on NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET 40 41config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_FULL 42 bool "Print-out both RX and TX packets" 43 help 44 This will print-out both received and transmitted packets. 45 46config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_RX 47 bool "Print-out only RX packets" 48 help 49 This will print-out received packets only. 50 51config NET_DEBUG_L2_IEEE802154_DISPLAY_PACKET_TX 52 bool "Print-out only TX packets" 53 help 54 This will print-out transmitted packets only. 55 56endchoice 57 58config NET_L2_IEEE802154_ACK_REPLY 59 bool "Enable IEEE 802.15.4 ACK reply logic" 60 help 61 Enable inner stack's logic on handling ACK request. Note that 62 if the hw driver has an AUTOACK feature, this is then unnecessary. 63 64choice 65 prompt "Device features level support" 66 default NET_L2_IEEE802154_RFD 67 help 68 Select which features level you want on the device. Depending on it, 69 the device might expose more or less 802.15.4 protocol features. 70 Only RFD is supported for now. 71 72config NET_L2_IEEE802154_RFD 73 bool "Support Reduced Functionality Device level" 74 select NET_L2_IEEE802154_MGMT 75 help 76 This is the level for PAN device, not PAN coordinator. This will make 77 possible to do active and/or passive scans, as well as associating 78 and disassociating to/from a PAN. Current support is very fragile, 79 thus it is not set as the default level. 80endchoice 81 82config NET_L2_IEEE802154_SHELL 83 bool "Enable IEEE 802.15.4 shell module" 84 select SHELL 85 depends on NET_L2_IEEE802154_RFD 86 help 87 This can be used for testing 15.4 through the console via exposing 88 a shell module named "ieee15_4". 89 90config NET_L2_IEEE802154_FRAGMENT 91 bool "Enable 802.15.4 fragmentation support" 92 default y 93 depends on NET_6LO 94 help 95 If IPv6 packets size more than 802.15.4 MTU, packet is fragmented 96 and reassemble incoming packets according to RFC4944/6282. 97 98config NET_L2_IEEE802154_FRAGMENT_REASS_CACHE_SIZE 99 int "IEEE 802.15.4 Reassembly cache size" 100 depends on NET_L2_IEEE802154_FRAGMENT 101 default 1 102 help 103 Simultaneously reassemble 802.15.4 fragments depending on 104 cache size. 105 106config NET_L2_IEEE802154_REASSEMBLY_TIMEOUT 107 int "IEEE 802.15.4 Reassembly timeout in seconds" 108 depends on NET_L2_IEEE802154_FRAGMENT 109 default 5 110 range 1 60 111 help 112 Reassembly timer will start as soon as first packet received 113 from peer. Reassembly should be finished within a given time. 114 Otherwise all accumulated fragments are dropped. 115 116config NET_L2_IEEE802154_SECURITY 117 bool "Enable IEEE 802.15.4 security [EXPERIMENTAL]" 118 help 119 Enable 802.15.4 frame security handling, in order to bring data 120 confidentiality and authenticity. 121 122config NET_L2_IEEE802154_SECURITY_CRYPTO_DEV_NAME 123 string "Crypto device name used for <en/de>cryption" 124 default "" 125 depends on NET_L2_IEEE802154_SECURITY 126 help 127 This option should be used to set the crypto device name that 128 IEEE 802.15.4 soft MAC will use to run authentication, encryption and 129 decryption operations on incoming/outgoing frames. 130 131source "subsys/net/l2/ieee802154/Kconfig.radio" 132 133endif 134