STRUCT EFX_FILTER_SPEC(9)
π struct efx_filter_spec(9) π
okay bestie, welcome to the Kernel API Manual β¨ this page is all about struct efx_filter_spec β the specification for a hardware filter. Lowkey iconic, highkey essential. π
πΈ NAME πΈ
struct efx_filter_specβ specification for a hardware filter π«Ά
β¨ SYNOPSIS β¨
struct efx_filter_spec {
u32 match_flags:12;
u32 priority:2;
u32 flags:6;
u32 dmaq_id:12;
u32 rss_context;
__be16 outer_vid;
__be16 inner_vid;
u8 loc_mac[ETH_ALEN];
u8 rem_mac[ETH_ALEN];
__be16 ether_type;
u8 ip_proto;
__be32 loc_host[4];
__be32 rem_host[4];
__be16 loc_port;
__be16 rem_port;
u32 encap_type:4;
};
π Members π
match_flagsβ match type flags, straight fromenum efx_filter_match_flagsπpriorityβ priority of the filter, fromenum efx_filter_priorityπflagsβ miscellaneous flags, fromenum efx_filter_flagsβ¨dmaq_idβ source/target queue index, orEFX_FILTER_RX_DMAQ_ID_DROPfor an RX drop filter π«Άrss_contextβ RSS context to use, ifEFX_FILTER_FLAG_RX_RSSis set. This is auser_id(with0meaning the driver/default RSS context), not an MCFWcontext_id. πouter_vidβ outer VLAN ID to match, ifEFX_FILTER_MATCH_OUTER_VIDis set πΈinner_vidβ inner VLAN ID to match, ifEFX_FILTER_MATCH_INNER_VIDis set πΈloc_macβ local MAC address to match, ifEFX_FILTER_MATCH_LOC_MACorEFX_FILTER_MATCH_LOC_MAC_IGis set πrem_macβ remote MAC address to match, ifEFX_FILTER_MATCH_REM_MACis set πether_typeβ Ether-type to match, ifEFX_FILTER_MATCH_ETHER_TYPEis set βip_protoβ IP transport protocol to match, ifEFX_FILTER_MATCH_IP_PROTOis set βloc_hostβ local IP host to match, ifEFX_FILTER_MATCH_LOC_HOSTis set π¦rem_hostβ remote IP host to match, ifEFX_FILTER_MATCH_REM_HOSTis set π¦loc_portβ local TCP/UDP port to match, ifEFX_FILTER_MATCH_LOC_PORTis set πrem_portβ remote TCP/UDP port to match, ifEFX_FILTER_MATCH_REM_PORTis set πencap_typeβ encapsulation type to match (fromenum efx_encap_type), ifEFX_FILTER_MATCH_ENCAP_TYPEis set π
π Description π
Real talk: the efx_filter_init_rx or efx_filter_init_tx function must be used to initialise the structure. Non-negotiable, bestie π After that, the efx_filter_set_*() functions may then be used to set rss_context, match_flags and related fields.
The priority field is used by software to determine whether a new filter may replace an old one. The hardware priority of a filter depends on which fields are matched. That's the whole vibe check π
π¦ SEE ALSO π¦
- Kernel file
./drivers/net/ethernet/sfc/siena/filter.henumefx_filter_match_flags(9), enumefx_filter_priority(9), enumefx_filter_flags(9),efx_filter_set_ipv4_local(9),efx_filter_set_ipv4_full(9),efx_filter_set_eth_local(9),efx_filter_set_uc_def(9),efx_filter_set_mc_def(9)
Thatβs the tea from source/version ./drivers/net/ethernet/sfc/siena, October 2026 edition, for page struct efx_filter_spec(9). Bye bestie! πππ«Ά
π¦ 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