mirror of
https://github.com/espressif/openthread.git
synced 2026-08-02 00:57:47 +00:00
[mac] put transmission AES-CCM* to SubMac layer (#4919)
In Thread 1.2, it is possible to receive an IEEE 802.15.4-2015 packet. Per specification, receiver should acknowledge this packet with an IEEE 802.15.4-2015 ACK(Enh-ACK). This Enh-ACK can include header IE with it and requires security enabled bit in FCF be set to true. It is impractical for the host to generate the Enh-ACK and send to RCP for transmission within AIFS time(192us). So RCP should prepare the Enh-ACK by itself, which requires it to fill in the frame counter and do the encryption/authentication. This commit tries to address the need of transmission security/authentication by including the following changes, - Move Key ID mode 1 AES-CCM* related functions from MAC layer to SubMac layer, which is mirrored in RCP. - Distribute the MAC key and MAC key ID to RCP in posix app using newly added spinel properties. - Make it possible for radio(either in radio driver or hardware) to do transmission AES-CCM* if the platform supports by adding radio capability OT_RADIO_CAPS_TRANSMIT_SEC. - Enable this for RCP mode on simulation platform.
This commit is contained in:
+10
-9
@@ -51,27 +51,28 @@ do_scan_build()
|
||||
"-DOPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JOINER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LEGACY_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_BEACON_RSP_WHEN_JOINABLE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MPL_DYNAMIC_INTERVAL_ENABLE"
|
||||
"-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JOINER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_ACK_TIMEOUT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_CSMA_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_ENERGY_SCAN_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_RETRANSMIT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1"
|
||||
|
||||
@@ -56,17 +56,22 @@ build_all_features()
|
||||
"-DOPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JOINER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LEGACY_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_BEACON_RSP_WHEN_JOINABLE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MPL_DYNAMIC_INTERVAL_ENABLE"
|
||||
"-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_JOINER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_NCP_UART_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE=1"
|
||||
@@ -74,10 +79,6 @@ build_all_features()
|
||||
"-DOPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_ACK_TIMEOUT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_CSMA_BACKOFF_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_ENERGY_SCAN_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_SOFTWARE_RETRANSMIT_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1"
|
||||
"-DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1"
|
||||
|
||||
Reference in New Issue
Block a user