STRUCT DPNI_RULE_CFG(9)
π struct dpni_rule_cfg(9) β the Kernel API Manual tea π«
okay bestie, so this is a page from the Kernel API Manual and it's about one struct: struct dpni_rule_cfg, which is literally the rule configuration for table lookup. that's the whole vibe. let's get into it β¨
πΈ NAME πΈ
struct dpni_rule_cfg β Rule configuration for table lookup. yes, that's what it does, no notes π
β¨ SYNOPSIS β¨
here's the whole squad, exactly as it appears:
struct dpni_rule_cfg {
u64 key_iova;
u64 mask_iova;
u8 key_size;
};
three members, three little icons, periodt π
π¦ Members (the cast π)
key_iovaβ the I/O virtual address of the key. and it must be in DMA-able memory, no cap, that's a requirement not a suggestion πmask_iovaβ the I/O virtual address of the mask. same deal: must be in DMA-able memory. matching bestie energy π«Άkey_sizeβ the key and mask size, measured in bytes. yeah, one size for both, it's giving efficient π
π SEE ALSO π
okay this list is long but we don't skip, we don't summarise, we list every single one because that's the assignment π
first up, the kernel file herself:
- Kernel file
./drivers/net/ethernet/freescale/dpaa2/dpni.h
and the whole extended friend group:
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_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)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)
like, that's the whole group chat and every single one of them made it into the list ππ
ngl the only thing this page is strict about: those two addresses have to be DMA-able memory. everything else is just sizes and vibes π§
and that's the tea, bestie π this page came from the source ./drivers/net/ethernet/freesca... and it's dated October 2026 β so yeah, it's from the future, main character energy only πβ¨ bye ily π«Άπ
π¦ 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