STRUCT DPNI_POOLS_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct dpni_pools_cfg(9) πŸ’…

okay bestie, welcome to the manual page for struct dpni_pools_cfg β€” yes that's the whole title, and yes it's from the kernel API manual (section 9, for the people keeping score πŸŽ€). This is the struct that represents buffer pools configuration, and honestly? it's giving "small but mighty." Let's get into it ✨


🌸 NAME 🌸

struct dpni_pools_cfg β€” the structure that represents buffer pools configuration. that's it, that's the whole vibe πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

struct dpni_pools_cfg {
    u8 num_dpbp;
    u8 pool_options;
    struct {
      int dpbp_id;
      u8 priority_mask;
      u16 buffer_size;
      int backup_pool;
    } pools[DPNI_MAX_DPBP];
 };

look at her. so tidy. so organized. an icon πŸ‘‘


πŸŽ€ Members πŸŽ€

  • num_dpbp β€” the number of DPBPs. that's the count, periodt πŸ’…
  • pool_options β€” buffer assignment options πŸ”₯ this field is a combination of the DPNI_POOL_ASSOC_flags. so like, flags go here, it's a combo situation, iykyk.
  • pools β€” the array of buffer pool parameters 🌈 and here's the important bit bestie: the number of valid entries must match the num_dpbp value. no cap, they have to line up, don't leave her hanging 🫢
  • pools.dpbp_id β€” the DPBP object ID ⭐ that's the identifier, the main character energy of the pool.
  • pools.buffer_size β€” the buffer size. literally what it says πŸ’€
  • pools.backup_pool β€” the backup pool 🧚 your lil safety net, we love a backup plan.
real talk: the array also carries a priority_mask field (a u8) up in the SYNOPSIS β€” the members list doesn't spell it out separately, so don't come for me, I'm just reporting what's on the page πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

the kernel file ./drivers/net/ethernet/freescale/dpaa2/dpni.h is the home base β€” go say hi 🏠

and then the whole friend group shows up, so let's shout them out one by one:

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_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), struct dpni_buffer_layout(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)

that's a lot of cross-references and we ate every single one, no crumbs left πŸ“


lowkey a whole reading list. go click through them, bestie, it's worth it πŸ“š

and that's the page!! sourced from ./drivers/net/ethernet/freesca... and it's dated October 2026 β€” so she's from the future, she's ahead of her time, main character energy confirmed πŸ‘‘βœ¨ bye bestie, go configure some buffer pools πŸ’–πŸ¦‹

πŸ“¦ where this page comes from