dpni_prepare_key_cfg(9)
π dpni_prepare_key_cfg β a Kernel API Manual moment
okay so bestie, welcome to dpni_prepare_key_cfg(9), straight out of the Kernel API Manual. this is the little prep-step function that gets your key extraction parameters ready before the big stuff happens. she's not the main character, she's the stage manager, and honestly? iconic. β¨
πΈ SYNOPSIS πΈ
int dpni_prepare_key_cfg (const struct dpkg_profile_cfg *cfg , u8
*key_cfg_buf );
that's the whole signature, no cap. returns an int, takes two things, and we're gonna talk about both of them right now. π«Ά
π ARGUMENTS π
cfgβ this is aconst struct dpkg_profile_cfg *and it defines a whole full Key Generation profile (a rule, basically). like, the entire vibe of how your key gets generated lives in here. πkey_cfg_bufβ au8 *pointing at zeroed 256 bytes of memory, and this has to be zeroed before you map it to DMA. read that again, bestie: zeroed, 256 bytes, before DMA. not after. before. not me being dramatic, that's just the deal. π
π₯ DESCRIPTION π₯
so the way that this works is: dpni_prepare_key_cfg has to be called before the following functions, periodt:
dpni_set_rx_tc_distdpni_set_qos_table
that's it, that's the requirement. you call her first, then those two get to do their thing. skip her and, well, the manpage doesn't say what happens, but bestieβ¦ don't. π
β RETURN β
the original page leaves this section empty, so there's genuinely nothing here to report. no return value listed, no description, nada. consider this the blank space where a return value would be if one had been written down. π¦
π SEE ALSO π
kernel file ./drivers/net/ethernet/freescale/dpaa2/dpni.c β and honestly, the whole dpni family is here, we're doing a full group-chat roll call:
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_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 I said. whole family. iykyk. π
mwah π that's the page! this lil rewrite came from ./drivers/net/ethernet/freescaβ¦ (yes, the footer really does cut it off like that, she's mysterious like that π
) and it's dated October 2026. go forth, zero your 256 bytes, call her before dpni_set_rx_tc_dist and dpni_set_qos_table, and slay. πβ¨
π¦ 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