STRUCT DPSW_ACL_ENTRY_CFG(9)
π struct dpsw_acl_entry_cfg(9) β the ACL entry glow-up
okay so bestie, welcome to the Kernel API Manual β¨ this one's a tiny little struct but she's important β she's the ACL entry itself, the actual rule that gets checked. she's from dpsw.h in the freescale dpaa2 driver world, mmmkay? let's get into it π
β¨ NAME β¨
struct dpsw_acl_entry_cfg β an ACL entry. that's it. that's her. one entry in your access control list, living her best life π
π¦ SYNOPSIS π¦
struct dpsw_acl_entry_cfg {
u64 key_iova;
struct dpsw_acl_result result;
int precedence;
};
look at her. three fields. iconic. not a single wasted line πΈ
π Members π
key_iovaβ this is the I/O virtual address of DMA-able memory, and that memory is filled with your key ποΈ β but heads up bestie, only after you've calleddpsw_acl_prepare_entry_cfg. so don't go reading it before that, okay? order matters, no cap.resultβ astruct dpsw_acl_result, and this is literally the required action to take when this entry gets hit π₯ like, the entry matched, now what? that's what this field is for.precedenceβ the precedence inside the ACL, and bestie,0is the lowest π so if you want something to win, you gotta go higher. BUT β and this is the important part β this priority can not change during the lifetime of a Policy π periodt. it's locked in. and it's your responsibility as the user to space the priorities out according to the consequent rule additions you're planning. so like... plan ahead, okay? give yourself room to insert stuff later π
π«Ά fr fr, read that precedence bit twice. a Policy's lifetime is a long time and you can't renumber later. that's a you problem, not a struct problem.
π SEE ALSO π
everything she's adjacent to in the kernel file ./drivers/net/ethernet/freescale/dpaa2/dpsw.h:
DPSW_OPT_FLOODING_DIS(9)DPSW_OPT_MULTICAST_DIS(9)DPSW_OPT_CTRL_IF_DIS(9)enum dpsw_component_type(9)enum dpsw_flooding_cfg(9)enum dpsw_broadcast_cfg(9)DPSW_IRQ_EVENT_LINK_CHANGED(9)DPSW_IRQ_EVENT_ENDPOINT_CHANGED(9)struct dpsw_irq_cfg(9)struct dpsw_attr(9)struct dpsw_ctrl_if_attr(9)struct dpsw_ctrl_if_pools_cfg(9)enum dpsw_action(9)struct dpsw_link_cfg(9)struct dpsw_link_state(9)struct dpsw_tci_cfg(9)enum dpsw_stp_state(9)struct dpsw_stp_cfg(9)enum dpsw_accepted_frames(9)enum dpsw_counter(9)struct dpsw_if_attr(9)struct dpsw_vlan_cfg(9)struct dpsw_vlan_if_cfg(9)enum dpsw_fdb_entry_type(9)struct dpsw_fdb_unicast_cfg(9)struct fdb_dump_entry(9)struct dpsw_fdb_multicast_cfg(9)enum dpsw_learning_mode(9)struct dpsw_fdb_attr(9)struct dpsw_fdb_cfg(9)enum dpsw_flood_type(9)struct dpsw_acl_cfg(9)struct dpsw_acl_if_cfg(9)struct dpsw_acl_fields(9)struct dpsw_acl_key(9)enum dpsw_acl_action(9)struct dpsw_acl_result(9)enum dpsw_reflection_filter(9)struct dpsw_reflection_cfg(9)struct dpsw_lag_cfg(9)
that's a whole friend group honestly π
aaaand that's the page!! π¦ source path got truncated in the original footer as ./drivers/net/ethernet/freesca... and the date stamp is October 2026 β so big slay to the October 2026 crew who shipped this doc π
π mwah, go configure your ACLs responsibly 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