STRUCT DPNI_BUFFER_LAYOUT(9)
πΈ struct dpni_buffer_layout (9) β Kernel API Manual β¨
okay bestie, gather round, because we're about to get into the literal shape of a DPNI buffer π«Ά this page lives in the Kernel API Manual and it's the whole glow-up guide for how your data gets laid out. no cap, it's giving "interior design but for packets" π
π NAME π
struct dpni_buffer_layout β the structure that represents the DPNI buffer layout, periodt. it's literally the blueprint, the main character of buffer arrangement π
π¦ SYNOPSIS π¦
struct dpni_buffer_layout {
u32 options;
int pass_timestamp;
int pass_parser_result;
int pass_frame_status;
u16 private_data_size;
u16 data_align;
u16 data_head_room;
u16 data_tail_room;
};
look at her. iconic. every field copy-pasted exactly because we do not mess with source code in this house π€
π Members π
okay so here's the member-by-member vibe check, and yes every single one is here, i would never do you dirty like that π
optionsβ the flags that represent the suggested modifications to the buffer layout π§ use any combination of'DPNI_BUF_LAYOUT_OPT_<X>'flags. mix and match, you're the stylist πpass_timestampβ passes the timestamp value β°pass_parser_resultβ passes the parser results π΅οΈββοΈpass_frame_statusβ passes the frame status πprivate_data_sizeβ the size kept for private data, in bytes π (bytes, bestie, bytes)data_alignβ the data alignment πdata_head_roomβ the data head room π§ β¨data_tail_roomβ the data tail room π
ngl this whole struct is just "where does everything go and how much space does it get" and honestly? relatable π
β SEE ALSO β
the friend group π«Ά all of these are ride-or-die, go say hi:
- Kernel file
./drivers/net/ethernet/freescale/dpaa2/dpni.h DPNI_MAX_TC(9)DPNI_MAX_DPBP(9)DPNI_ALL_TCS(9)DPNI_ALL_TC_FLOWS(9)DPNI_NEW_FLOW_ID(9)DPNI_OPT_TX_FRM_RELEASE(9)DPNI_OPT_NO_MAC_FILTER(9)DPNI_OPT_HAS_POLICING(9)DPNI_OPT_SHARED_CONGESTION(9)DPNI_OPT_HAS_KEY_MASKING(9)DPNI_OPT_NO_FS(9)DPNI_OPT_SHARED_FS(9)struct dpni_pools_cfg(9)struct dpni_attr(9)DPNI_ERROR_EOFHE(9)DPNI_ERROR_FLE(9)DPNI_ERROR_FPE(9)DPNI_ERROR_PHE(9)DPNI_ERROR_L3CE(9)DPNI_ERROR_L4CE(9)enum dpni_error_action(9)struct dpni_error_cfg(9)DPNI_BUF_LAYOUT_OPT_TIMESTAMP(9)DPNI_BUF_LAYOUT_OPT_PARSER_RESULT(9)DPNI_BUF_LAYOUT_OPT_FRAME_STATUS(9)DPNI_BUF_LAYOUT_OPT_PRIVATE_DATA_SIZE(9)DPNI_BUF_LAYOUT_OPT_DATA_ALIGN(9)DPNI_BUF_LAYOUT_OPT_DATA_HEAD_ROOM(9)DPNI_BUF_LAYOUT_OPT_DATA_TAIL_ROOM(9)enum dpni_queue_type(9)enum dpni_offload(9)union dpni_statistics(9)struct dpni_link_cfg(9)struct dpni_link_state(9)enum dpni_dist_mode(9)enum dpni_fs_miss_action(9)struct dpni_fs_tbl_cfg(9)struct dpni_rx_tc_dist_cfg(9)DPNI_FS_MISS_DROP(9)struct dpni_rx_dist_cfg(9)struct dpni_qos_tbl_cfg(9)enum dpni_dest(9)struct dpni_queue(9)struct dpni_queue_id(9)enum dpni_congestion_unit(9)enum dpni_congestion_point(9)struct dpni_dest_cfg(9)DPNI_CONG_OPT_FLOW_CONTROL(9)struct dpni_congestion_notification_cfg(9)struct dpni_taildrop(9)struct dpni_rule_cfg(9)DPNI_FS_OPT_DISCARD(9)DPNI_FS_OPT_SET_FLC(9)DPNI_FS_OPT_SET_STASH_CONTROL(9)struct dpni_fs_action_cfg(9)struct dpni_tx_shaping_cfg(9)struct dpni_single_step_cfg(9)
and that's the whole page, bestie π this one came straight out of ./drivers/net/ethernet/freesca..., dated October 2026, and it's filed under struct dpni_buffer_layout(9) π go forth and lay out those buffers, you absolute icon πβ¨
π¦ 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