i40e_asq_sen...mmand_atomic(9)
β¨ i40e_asq_sen...mmand_atomic(9) β¨
okay so bestie, we're deep in the Kernel API Manual today and this one is a whole vibe π
it's an i40e networking girlie function, and the name got truncated because apparently even manpage titles have a character limit (tragic, I know π). Buckle up, we're sending commands to the Admin Queue π
πΈ NAME πΈ
i40e_asq_send_command_atomic β literally just sends a command to the Admin Queue, no cap π
π¦ SYNOPSIS π¦
int i40e_asq_send_command_atomic (struct i40e_hw *hw , struct
libie_aq_desc *desc , void *buff , u16 buff_size , struct
i40e_asq_cmd_details *cmd_details , bool is_atomic_context );
look at her, six arguments and she's serving π«Ά
π ARGUMENTS π
so bestie, here's the tea on every single parameter, don't skip a single one:
hwβ pointer to thehwstruct π like, the hardware context, the main character herselfdescβ a prefilled descriptor describing the command (and bestie, it's non DMA mem, ok that detail matters π)buffβ the buffer to use for indirect commands πbuff_sizeβ size of that buffer, specifically for the indirect commands,u16energy β¨cmd_detailsβ pointer to the command details structure π§is_atomic_contextβ aboolthat literally just asks: is the function called in an atomic context? π yes or no, queen
π DESCRIPTION π
okay so here's what actually goes down: it acquires the lock and then calls the main send command execution routine π₯ that's it, that's the whole plot. simple, iconic, does exactly what it says on the tin π
ngl this is the atomic-context version of the send, which is why that last bool is asking you the question β you're the one who has to know where you're calling it from π
π SEE ALSO π
here's the whole friend group, the entire i40e squad, and yes we're listing every single one because nobody gets left out π«Ά:
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_adminq.c is the home base π
i40e_alloc_adminq_asq_ring(9)i40e_alloc_adminq_arq_ring(9)i40e_free_adminq_asq(9)i40e_free_adminq_arq(9)i40e_alloc_arq_bufs(9)i40e_alloc_asq_bufs(9)i40e_free_arq_bufs(9)i40e_free_asq_bufs(9)i40e_config_asq_regs(9)i40e_config_arq_regs(9)i40e_init_asq(9)i40e_init_arq(9)i40e_shutdown_asq(9)i40e_shutdown_arq(9)i40e_set_hw_caps(9)i40e_init_adminq(9)i40e_shutdown_adminq(9)i40e_clean_asq(9)i40e_asq_done(9)i40e_asq_send_command_atomic_exec(9)i40e_asq_send_command_atomic_v2(9)i40e_fill_default_direct_cmd_desc(9)i40e_clean_arq_element(9)
and that's the page bestie, go read the source and slay π
mwah π this lil number lives in ./drivers/net/ethernet/intel/i40e, dated October 2026, brought to you by the Kernel API Manual crew β 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