STRUCT DPSW_ACL_FIELDS(9)
π struct dpsw_acl_fields(9)
okay so bestie, welcome to the Kernel API Manual β yes, the whole thing, and today's main character is struct dpsw_acl_fields, aka the ACL fields, aka the literal blueprint of everything an Access Control List can look at when it's deciding whether your packet is iconic or should be dropped π
β¨ NAME β¨
struct dpsw_acl_fields β ACL fields. That's it, that's the whole vibe. It's a struct of fields. For ACLs. Periodt π
πΈ SYNOPSIS πΈ
here's the whole thing, character for character, no cap:
struct dpsw_acl_fields {
u8 l2_dest_mac[6];
u8 l2_source_mac[6];
u16 l2_tpid;
u8 l2_pcp_dei;
u16 l2_vlan_id;
u16 l2_ether_type;
u8 l3_dscp;
u8 l3_protocol;
u32 l3_source_ip;
u32 l3_dest_ip;
u16 l4_source_port;
u16 l4_dest_port;
};
look at her. twelve fields. organized. layered. lowkey a work of art πΌοΈ
π¦ MEMBERS π¦
okk let's go field by field, and yes i'm gonna explain every single one because i want you to actually get it:
l2_dest_macβ the Destination MAC address π and bestie it covers a LOT of cases: BPDU, Multicast, Broadcast, Unicast, slow protocols, MVRP, STP. it's giving "i contain multitudes."l2_source_macβ the Source MAC address. the origin story. where the packet came from π«Άl2_tpidβ Layer 2 (Ethernet) protocol type, and it's used to identify the following protocols: MPLS, PTP, PFC, ARP, Jumbo frames, LLDP, IEEE802.1ae, Q-in-Q, IPv4, IPv6, PPPoE. eleven whole protocols. she's busy πl2_pcp_deiβ indicates which protocol is encapsulated in the payload π₯l2_vlan_idβ layer 2 VLAN ID. the little tag that says which vlan you belong to π·οΈl2_ether_typeβ layer 2 Ethernet type β¨l3_dscpβ Layer 3 differentiated services code point. fancy networking words, still just a field πl3_protocolβ tells the Network layer at the destination host to which Protocol this packet belongs to. and the following protocol are supported: ICMP, IGMP, IPv4 (encapsulation), TCP, IPv6 (encapsulation), GRE, PTP. that's the whole roster fr fr πl3_source_ipβ Source IPv4 IP πl3_dest_ipβ Destination IPv4 IP βl4_source_portβ Source TCP/UDP Port πl4_dest_portβ Destination TCP/UDP Port π
π SEE ALSO π
okay the lore is deep, here's the whole cinematic universe you should go read next. first, the source of truth itself:
- Kernel file
./drivers/net/ethernet/freescale/dpaa2/dpsw.hπ
and then, literally everyone else:
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_key(9)enum dpsw_acl_action(9)struct dpsw_acl_result(9)struct dpsw_acl_entry_cfg(9)enum dpsw_reflection_filter(9)struct dpsw_reflection_cfg(9)struct dpsw_lag_cfg(9)
bestie reminder: this page is documentation, not a tutorial β everything above is straight from the manual, i'm not out here inventing features, i would never π
and that's the tea β this page came from ./drivers/net/ethernet/freesca... and it's dated October 2026 β so yeah, future-datedζΊη , we love a timestamp that ate. 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