dpni_set_rx_fs_dist(9)
π dpni_set_rx_fs_dist(9) β bestie edition
okay so this is a page from the Kernel API Manual, section 9, and it's about dpni_set_rx_fs_dist β yes that name is a mouthful, we're gonna get through it together π«Ά
β¨ NAME β¨
dpni_set_rx_fs_dist β set Rx flow steering distribution. that's the whole vibe. Rx flow steering? we set the dist. slay.
πΈ SYNOPSIS πΈ
int dpni_set_rx_fs_dist (struct fsl_mc_io *mc_io , u32 cmd_flags , u16
token , const struct dpni_rx_dist_cfg *cfg );
it's giving "one function, four arguments, zero chill" π
π ARGUMENTS π
every single one of them, in order, no skipping, periodt:
mc_ioβ pointer to the MC portal's I/O object β¨cmd_flagsβ command flags; one or more ofMC_CMD_FLAG_π₯tokenβ the token of the DPNI object ποΈcfgβ the distribution configuration π¦
π DESCRIPTION π
okay so here's where it gets juicy, listen up π₯
if the FS is already enabled from a previous call, the classification key gets changed but all the table rules are kept. now β and this is the part where you gotta pay attention β if the existing rules don't match the key, the results will not be predictable π. like fr fr, unpredictable. and it is the user's responsibility to keep key integrity. that's on you bestie, not on the kernel. π
if cfg.enable is set to 1, the command creates a flow steering table and classifies packets according to that table. the packets that miss all the table rules get classified according to settings made in dpni_set_rx_hash_dist. iykyk.
if cfg.enable is set to 0, the command clears the flow steering table β and then those packets are classified according to settings made in dpni_set_rx_hash_dist. same fallback, different day π
β οΈ key integrity is a whole thing β change the key while old rules are lying around and nothing is guaranteed. not me warning you twice. this is the warning.
β RETURN β
so the original page just... has the heading and then literally nothing under it. no return values listed. iconic behaviour honestly, the section showed up and said "no thoughts, head empty" π§ ngl we're not inventing anything to fill it β what's written is what's written, and what's written is a whole lot of nothing π
π SEE ALSO π
first up, the kernel file that started it all:
Kernel file ./drivers/net/ethernet/freescale/dpaa2/dpni.c
and now the full friend group β every single one, no cap, they all have to show up to the party π:
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_hash_dist(9), dpni_add_fs_entry(9), dpni_remove_fs_entry(9), dpni_set_qos_table(9), dpni_add_qos_entry(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)
like... that's the whole group chat right there, main character energy from every single entry π
and that's the page!! π¦ quick cute sign-off before you go: this one came from the source path ./drivers/net/ethernet/freesca... (yes it's cut off in the original, we're keeping it exactly like that π) and it's dated October 2026 β so mark your calendars bestie, and remember the footer was still repping dpni_set_rx_fs_dist(9) all the way at the bottom πβ¨π
π¦ 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