dpni_add_qos_entry(9)
π dpni_add_qos_entry(9) β the Kernel API Manual page, but make it cute
okay so bestie, welcome to the Kernel API Manual page for dpni_add_qos_entry(9) β yes the manual name is Kernel API Manual and yes we're folding that in right at the top because we're polite π
This one's got main character energy honestly: it's the call that adds a QoS mapping entry, i.e. the thing that helps pick which traffic class your packets roll with. Slay.
β¨ NAME β¨
dpni_add_qos_entry β add a QoS mapping entry (the whole point of which is to select a traffic class π)
π¦ SYNOPSIS π¦
int dpni_add_qos_entry (struct fsl_mc_io *mc_io , u32 cmd_flags , u16
token , const struct dpni_rule_cfg *cfg , u8 tc_id , u16 index );
like, look at her. five params deep and still iconic. π₯
πΈ ARGUMENTS πΈ
mc_ioβ pointer to the MC portal's I/O object. your little handle to the portal, no cap π«Άcmd_flagsβ command flags; one or more ofMC_CMD_FLAG_. pick your flags, be free β¨tokenβ token of the DPNI object. it's literally the DPNI's name tag πcfgβ the QoS rule you wanna add. this is the rule itself, the whole vibe πtc_idβ traffic class selection, range0-7. pick a lane, any lane πindexβ location in the QoS table where to insert the entry. Only relevant if MASKING is enabled for QoS classification on this DPNI β and heads up, it is ignored for exact match. so if you're doing exact match, don't stress about it bestie, it's not reading yourindexat all π
ngl the index caveat is the one thing people get wrong, so like β masking = matters, exact match = ignored. periodt. π
β RETURN β
so this section on the page is genuinely just... empty. girl left the chat π the manpage gives us the heading and then dips. no return values listed, no nothing. iconic but unhelpful β don't come for me, I'm only reporting what's on the page π«Ά
π SEE ALSO π
the kernel file lives at ./drivers/net/ethernet/freescale/dpaa2/dpni.c β go read the source, she ate π
and now, the full squad, in order, exactly as listed, because we do not skip the friend group:
dpni_prepare_key_cfg(9), dpni_open(9), dpni_close(9), dpni_set_pools(9), dpni_enable(9), dpni_disable(9), dpni_is_enabled(9), dpni_reset(9), dpni_set_irq_enable(9), dpni_get_irq_enable(9), dpni_set_irq_mask(9), dpni_get_irq_mask(9), dpni_get_irq_status(9), dpni_clear_irq_status(9), dpni_get_attributes(9), dpni_set_errors_behavior(9), dpni_get_buffer_layout(9), dpni_set_buffer_layout(9), dpni_set_offload(9), dpni_get_qdid(9), dpni_get_tx_data_offset(9), dpni_set_link_cfg(9), dpni_get_link_cfg(9), dpni_get_link_state(9), dpni_set_max_frame_length(9), dpni_get_max_frame_length(9), dpni_set_multicast_promisc(9), dpni_get_multicast_promisc(9), dpni_set_unicast_promisc(9), dpni_get_unicast_promisc(9), dpni_set_primary_mac_addr(9), dpni_get_primary_mac_addr(9), dpni_get_port_mac_addr(9), dpni_enable_vlan_filter(9), dpni_add_vlan_id(9), dpni_remove_vlan_id(9), dpni_add_mac_addr(9), dpni_remove_mac_addr(9), dpni_clear_mac_filters(9), dpni_set_rx_tc_dist(9), dpni_set_congestion_notification(9), dpni_set_queue(9), dpni_get_queue(9), dpni_get_statistics(9), dpni_set_taildrop(9), dpni_get_taildrop(9), dpni_get_api_version(9), dpni_set_rx_fs_dist(9), dpni_set_rx_hash_dist(9), dpni_add_fs_entry(9), dpni_remove_fs_entry(9), dpni_set_qos_table(9), dpni_remove_qos_entry(9), dpni_clear_qos_table(9), dpni_set_tx_shaping(9), dpni_get_single_step_cfg(9), dpni_set_single_step_cfg(9)
and if you're adding QoS entries you definitely wanna meet dpni_set_qos_table(9), dpni_remove_qos_entry(9) and dpni_clear_qos_table(9) β that's the family right there, iykyk π§
okay that's the whole page!! mwah π
tiny sign-off before you go: the source path at the bottom is literally truncated to ./drivers/net/ethernet/freesca... (yes, the page itself did that, not me π) and the date on this edition is October 2026. she's fresh. go forth and classify your traffic, bestie π
π¦ 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