STRUCT DPSW_TCI_CFG(9)
π struct dpsw_tci_cfg β the Kernel API Manual moment π
okay bestie, so before we even get into it: this page lives in the Kernel API Manual, and it's literally all about struct dpsw_tci_cfg β the Tag Control Information (TCI) configuration. yes. that's a whole thing. and you're gonna understand it. π«Ά
β¨ NAME β¨
struct dpsw_tci_cfg β Tag Control Information (TCI) configuration. that's it. that's the name. iconic, concise, no notes. π
π¦ SYNOPSIS π¦
the whole struct, verbatim, no cap:
struct dpsw_tci_cfg {
u8 pcp;
u8 dei;
u16 vlan_id;
};
three fields, one vibe. let's get into each one, because they are not just decorative. πΈ
π Members π
pcpβ Priority Code Point (PCP): a 3-bit field which refers to the IEEE 802.1p priority. so like, three little bits deciding how much your frame gets to be the main character. βdeiβ Drop Eligible Indicator (DEI): a 1-bit field. May be used separately or in conjunction with PCP to indicate frames eligible to be dropped in the presence of congestion. one single bit and it's literally telling the network "yeah you can yeet me if things get busy" ππvlan_idβ VLAN Identifier (VID): a 12-bit field specifying the VLAN to which the frame belongs. The hexadecimal values of0x000and0xFFFare reserved; all other values may be used as VLAN identifiers, allowing up to 4,094 VLANs. so0x000and0xFFFare off-limits bestie, don't even try, the rest are fair game and there's room for 4,094 of your closest VLAN friends. π
fr fr keep those two reserved hex values in mind β0x000and0xFFFare reserved, and that's not a suggestion. π
π SEE ALSO π
go read the source, it's right there:
Kernel file ./drivers/net/ethernet/freescale/dpaa2/dpsw.h
and then the whole extended friend group β every single one, in order, because we do not leave anyone out at this lunch table π:
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)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)struct dpsw_acl_entry_cfg(9)enum dpsw_reflection_filter(9)struct dpsw_reflection_cfg(9)struct dpsw_lag_cfg(9)
like, that's a whole friend group and they ALL said yes to the group chat. π₯
and that's the page, bestie!! source line was ./drivers/net/ethernet/freesca... and the date on this one is October 2026 β so yeah, it's giving vintage-future, we love that for it. go forth and configure your TCIs responsibly π
β¨π
π¦ 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