ENUM IWL_MVM_RX_STATUS(9)
π enum iwl_mvm_rx_status β from the Kernel API Manual, bestie β¨
okay so. this is a page straight out of the Kernel API Manual, and it's all about enum iwl_mvm_rx_status β the little status blob the firmware writes for literally every single Rx packet π. no cap, every one.
πΈ NAME πΈ
enum iwl_mvm_rx_status β written by fw for each Rx packet
like, the firmware itself hands you this on a platter for every packet it receives. iconic behavior honestly π«Ά
β¨ SYNOPSIS β¨
enum iwl_mvm_rx_status {
RX_MPDU_RES_STATUS_CRC_OK ,
RX_MPDU_RES_STATUS_OVERRUN_OK ,
RX_MPDU_RES_STATUS_SRC_STA_FOUND ,
RX_MPDU_RES_STATUS_KEY_VALID ,
RX_MPDU_RES_STATUS_ICV_OK ,
RX_MPDU_RES_STATUS_MIC_OK ,
RX_MPDU_RES_STATUS_TTAK_OK ,
RX_MPDU_RES_STATUS_MNG_FRAME_REPLAY_ERR ,
RX_MPDU_RES_STATUS_SEC_NO_ENC ,
RX_MPDU_RES_STATUS_SEC_WEP_ENC ,
RX_MPDU_RES_STATUS_SEC_CCM_ENC ,
RX_MPDU_RES_STATUS_SEC_TKIP_ENC ,
RX_MPDU_RES_STATUS_SEC_EXT_ENC ,
RX_MPDU_RES_STATUS_SEC_CMAC_GMAC_ENC ,
RX_MPDU_RES_STATUS_SEC_ENC_ERR ,
RX_MPDU_RES_STATUS_SEC_ENC_MSK ,
RX_MPDU_RES_STATUS_DEC_DONE ,
RX_MPDU_RES_STATUS_CSUM_DONE ,
RX_MPDU_RES_STATUS_CSUM_OK ,
RX_MDPU_RES_STATUS_STA_ID_SHIFT ,
RX_MPDU_RES_STATUS_STA_ID_MSK
};
that's the whole roster π (yes, the blank line before the closing brace stays, it's part of the vibe now)
π¦ Constants π¦
okay bestie, one by one, no skipping, we're doing all of them π
RX_MPDU_RES_STATUS_CRC_OKβ the CRC is fine, we love to see it πRX_MPDU_RES_STATUS_OVERRUN_OKβ there was no RXE overflow. no overflow, no drama β¨RX_MPDU_RES_STATUS_SRC_STA_FOUNDβ the station was found. she's here, she's accounted for πRX_MPDU_RES_STATUS_KEY_VALIDβ the key was valid πRX_MPDU_RES_STATUS_ICV_OKβ the ICV is fine. and if it's not fine? the packet is destroyed. π gone. say bye.RX_MPDU_RES_STATUS_MIC_OKβ used for CCM alg only. the TKIP MIC is checked in the driver, not here, so don't come for this flag about it πRX_MPDU_RES_STATUS_TTAK_OKβ the TTAK is fine βRX_MPDU_RES_STATUS_MNG_FRAME_REPLAY_ERRβ valid foralg = CCM_CMACoralg = CCMonly. it checks for replay attacks on 11w frames π‘οΈRX_MPDU_RES_STATUS_SEC_NO_ENCβ this frame is not encrypted. out here living free πRX_MPDU_RES_STATUS_SEC_WEP_ENCβ this frame is encrypted using WEPRX_MPDU_RES_STATUS_SEC_CCM_ENCβ this frame is encrypted using CCMRX_MPDU_RES_STATUS_SEC_TKIP_ENCβ this frame is encrypted using TKIPRX_MPDU_RES_STATUS_SEC_EXT_ENCβ this frame is encrypted using extension algorithmRX_MPDU_RES_STATUS_SEC_CMAC_GMAC_ENCβ this frame is protected using CMAC or GMAC πRX_MPDU_RES_STATUS_SEC_ENC_ERRβ this frame couldn't be decrypted π it tried its bestRX_MPDU_RES_STATUS_SEC_ENC_MSKβ the bitmask of the encryption algorithm πRX_MPDU_RES_STATUS_DEC_DONEβ this frame has been successfully decrypted. slay πRX_MPDU_RES_STATUS_CSUM_DONEβ the checksum was done by the hw π₯οΈRX_MPDU_RES_STATUS_CSUM_OKβ the checksum found no errors β¨RX_MDPU_RES_STATUS_STA_ID_SHIFTβ station ID bit shiftRX_MPDU_RES_STATUS_STA_ID_MSKβ station ID mask
π§ SEE ALSO π§
all the siblings live in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/rx.h, and they are so worth a read, fr fr:
struct iwl_rx_phy_info(9)struct iwl_rx_mpdu_res_start(9)enum iwl_rx_phy_flags(9)struct iwl_rx_mpdu_desc_v1(9)struct iwl_rx_mpdu_desc_v3(9)struct iwl_rx_mpdu_desc(9)struct iwl_rx_no_data(9)struct iwl_rx_no_data_ver_3(9)enum iwl_bar_frame_release_sta_tid(9)enum iwl_bar_frame_release_ba_info(9)struct iwl_bar_frame_release(9)struct iwl_rss_config_cmd(9)struct iwl_rxq_sync_cmd(9)struct iwl_rxq_sync_notification(9)enum iwl_mvm_pm_event(9)struct iwl_mvm_pm_state_notification(9)struct iwl_ba_window_status_notif(9)struct iwl_rfh_queue_data(9)struct iwl_rfh_queue_config(9)struct iwl_beacon_filter_notif_v1(9)struct iwl_beacon_filter_notif(9)struct iwl_rx_phy_air_sniffer_ntfy(9)
and that's the whole page bestie, nothing cut, nothing skipped, every single constant accounted for π
okay and for the cute sign-off: this one came from ./drivers/net/wireless/intel/i... and it's dated October 2026, filed under enum iwl_mvm_rx_status(9). that's a wrap, mwah ππΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms