DPNI_OPT_HAS_POLICING(9)
π DPNI_OPT_HAS_POLICING(9) π
okay so bestie, welcome to the Kernel API Manual entry for DPNI_OPT_HAS_POLICING(9) β yes the manual name is literally in the title, we're fancy like that β¨
π NAME π
DPNI_OPT_HAS_POLICING β the flag that says "allocate policers for this DPNI" π
And like, what are those policers for? They can be used to rate-limit traffic per traffic class (TC) basis. That's the whole vibe. Traffic shaping but make it per-TC, no cap π¦
β¨ SYNOPSIS β¨
DPNI_OPT_HAS_POLICING
that's it. that's the synopsis. she's short, she's iconic, she doesn't need a synopsis essay π«Ά
π¦ SEE ALSO π¦
okay so this is where it gets real β the related-reading list is genuinely enormous and I'm obsessed. First up, the actual kernel file this lives in:
- Kernel file
./drivers/net/ethernet/freescale/dpaa2/dpni.h
then the flag besties:
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_SHARED_CONGESTION(9),DPNI_OPT_HAS_KEY_MASKING(9),DPNI_OPT_NO_FS(9),DPNI_OPT_SHARED_FS(9)
the pool / attr era:
struct dpni_pools_cfg(9),struct dpni_attr(9)
error-code girlies (we love a good error enum):
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)
buffer layout squad β truly the main characters of "where do my bytes go":
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)
queues, stats, links, distribution:
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)
destinations & queues, part two:
enum dpni_dest(9),struct dpni_queue(9),struct dpni_queue_id(9)
congestion notification (the rate-limit-adjacent lore π):
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)
rules & flow steering:
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)
and the final two absolute icons:
struct dpni_tx_shaping_cfg(9),struct dpni_single_step_cfg(9)
bestie that's 58 references, I counted, and every single one is here. go read them. or don't. but like, they're there π
πΈ okay that's the whole page!! love u, go rate-limit something per TC π
this was DPNI_OPT_HAS_POLICING(9) from the Kernel API Manual, sourced from ./drivers/net/ethernet/freesca..., dated October 2026 β mwah, signing off, periodt πβ¨
π¦ 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