STRUCT DPSW_ACL_FIELDS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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