STRUCT DPNI_RX_DIST_CFG(9)
π struct dpni_rx_dist_cfg(9) β Kernel API Manual π
okay bestie, welcome to the <purple>dpni_rx_dist_cfg</purple> page from the Kernel API Manual β¨ this is the struct that holds your Rx distribution configuration β like, the whole vibe of how received packets get spread around. sit down, hydrate, let's go π«Ά
πΈ NAME πΈ
struct dpni_rx_dist_cfg β Rx distribution configuration π (yes that's the whole name, it's giving "I do one thing and I do it well")
β¨ SYNOPSIS β¨
struct dpni_rx_dist_cfg {
u16 dist_size;
u64 key_cfg_iova;
u8 enable;
u8 tc;
u16 fs_miss_flow_id;
};
not me obsessing over a five-field struct π it's small but it's mighty, periodt.
π¦ Members π¦
dist_sizeβ the distribution size, literally. that's the whole description, she's concise πkey_cfg_iovaβ okay so this is the I/O virtual address of 256 bytes of DMA-able memory, filled with the extractions used for the distribution key, and you fill it by callingdpni_prepare_key_cfgπ heads up though: this field is only relevant whenenable!=0β otherwise it can be'0'and nobody's mad about it π«Άenableβ enable/disable the distribution. on or off, that's the whole job πtcβ the TC id for which the distribution is set πfs_miss_flow_idβ so when a packet misses all the rules from the flow steering table and hash is disabled, it gets put into this queue id π. useDPNI_FS_MISS_DROPto drop frames (yes, drop them, no cap π). ngl the important bit: the value of this field is used only when flow steering distribution is enabled and hash distribution is disabled β iykyk, context matters π₯
π SEE ALSO π
Kernel file ./drivers/net/ethernet/freescale/dpaa2/dpni.h β go read the source bestie, it's right there π§
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)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_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)
bestie the whole friend group is here, this struct literally never goes anywhere alone π it's main character energy with a supporting cast of like fifty β¨
and that's the page!! π source vibes from ./drivers/net/ethernet/freesca... (you know the one, the dpaa2 corner of the kernel π) and it's dated October 2026 β so like, from the future, iconic behavior honestly β slay, bye π
π¦ 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