STRUCT IWL_MCAST_FILTER_CMD(9)
π STRUCT IWL_MCAST_FILTER_CMD π
okay bestie, this is a page from the Kernel API Manual β like, actual kernel docs, not some random README β and it's about struct iwl_mcast_filter_cmd, aka the little struct that configures the multicast filter. yes. that one. let's go π
β¨ NAME β¨
struct iwl_mcast_filter_cmd β configure multicast filter.
that's it. that's the whole vibe. it configures the multicast filter. iconic behaviour honestly π¦
πΈ SYNOPSIS πΈ
here's the struct in all her glory, copied exactly, character for character, no edits no cap:
struct iwl_mcast_filter_cmd {
u8 filter_own;
u8 port_id;
u8 count;
u8 pass_all;
u8 bssid[6];
u8 reserved[2];
u8 addr_list[];
};
look at her. flexible array member at the end and everything. she's serving structure, she's serving trailing array, she's serving u8 β¨
π MEMBERS π
okay so now we go member by member, no skipping, i promise.
filter_ownβ set this to1and you filter out multicast packets that were sent by the station itself. basically "not me, i didn't send that" energy πport_idβ this is the specifier for the multicast MAC addresses array. and like... the manpage itself calls it "a strange way to identify network interface adopted in host-device IF", and honestly? valid. it is strange. i'm not gonna pretend it isn't π anyway: FW (= firmware) uses it as an index into the array of addresses, and that array hasMAX_PORT_ID_NUMmembers. so. keep that in mind.countβ the number of MAC addresses in the array. simple. clean. we love a straightforward field πpass_allβ set to1to pass all multicast packets. all of them. every single one. no filtering. full send π₯bssidβ the current association BSSID. that's the one you're associated with right now, bestie π«Άreservedβ reserved. that's literally it. it's reserved. leave her alone πaddr_listβ placeholder for the array of MAC addresses. and here's the IMPORTANT part, highkey the most important line on this whole page: add padding if necessary to ensure DWORD alignment. do NOT forget the padding. the DWORD alignment is not optional, it's a whole personality trait β
π SEE ALSO π
if you want the real source of truth (and you should, always check the source), it's this kernel file right here:
Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/filter.h
go read it. it's giving documentation. it's giving C. it's giving exactly what you need π§
lowkey a reminder: the compiler does not care about your feelings, but it does care about DWORD alignment. add the padding. π
π bye bestie π
that's the whole page! this one came from the source ./drivers/net/wireless/intel/i... (yeah the footer path is truncated on the page, that's just how it printed, don't come for me π) and it's dated October 2026, with the footer naming struct iwl_mcast_filter_cmd(9) as the manual page. slay, go filter some multicast πβ¨π
π¦ 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