ENUM IEEE802154_FILTERING_LEVEL(9)
β¨ NAME β¨
enum ieee802154_filtering_level β the filtering levels that apply to a PHY, aka the tier list of "how much do we actually care about this packet" π
(oh also hiii, this is the Kernel API Manual page for enum ieee802154_filtering_level(9), lowkey iconic of it to show up in section 9 π)
πΈ SYNOPSIS πΈ
enum ieee802154_filtering_level {
IEEE802154_FILTERING_NONE ,
IEEE802154_FILTERING_1_FCS ,
IEEE802154_FILTERING_2_PROMISCUOUS ,
IEEE802154_FILTERING_3_SCAN ,
IEEE802154_FILTERING_4_FRAME_FIELDS
};
okay so that's the whole enum, bestie β five constants, zero chaos, all of them listed below π
π¦ CONSTANTS π¦
IEEE802154_FILTERING_NONEβ literally no filtering at all, zero vibe check, nothing. whatever gets received just gets forwarded straight to the softMAC. yolo mode fr fr πIEEE802154_FILTERING_1_FCSβ first filtering level β¨ frames with an invalid FCS should be dropped. that's it, that's the whole job.IEEE802154_FILTERING_2_PROMISCUOUSβ second filtering level π promiscuous mode like the spec describes it. on the PHY side it's identical in terms of filtering to the level one, BUT at the MAC level the frame should be forwarded to the upper layer directly. same energy, different floor of the stack π«ΆIEEE802154_FILTERING_3_SCANβ third filtering level π scan related, where only beacons must be processed and all remaining traffic gets dropped. beacons are the main characters, everyone else can see themselves out πIEEE802154_FILTERING_4_FRAME_FIELDSβ fourth filtering level π₯ the one that actually enforces the validity of the content of the frame with various checks. full send on validation, no notes π
π SEE ALSO π
the kernel file ./include/linux/ieee802154.h and its little friend group of helpers, go give them a follow:
ieee802154_is_secen(9)ieee802154_is_ackreq(9)ieee802154_is_intra_pan(9)ieee802154_is_valid_psdu_len(9)ieee802154_is_valid_extended_unicast_addr(9)ieee802154_is_broadcast_short_addr(9)ieee802154_is_unspec_short_addr(9)ieee802154_is_valid_src_short_addr(9)ieee802154_random_extended_addr(9)
that's the whole page bestie, go filter some frames responsibly πβ¨ this one lives under ./include/linux and it's dated October 2026 β catch you in the next manpage, 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