STRUCT PDS_VDPA_IDENT_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pds_vdpa_ident_cmd(9) β€” the IDENT command, bestie

okay so this is a page from the Kernel API Manual, and today's main character is struct pds_vdpa_ident_cmd β€” the IDENT command struct. it lives in the kernel docs, it's giving "small struct, big responsibilities", and we're gonna go through it field by field. no cap. 🫢


✨ NAME ✨

struct pds_vdpa_ident_cmd β€” the IDENT command. that's it, that's the vibe. πŸŽ€


🌸 SYNOPSIS 🌸

here's the whole struct, exactly as it is, don't come for me about the formatting:

struct pds_vdpa_ident_cmd {
    u8 opcode;
    u8 rsvd;
    __le16 vf_id;
    __le32 len;
    __le64 ident_pa;
 };

literally five fields. that's the whole thing. and every single one matters, so let's do the member tour. πŸ’…


πŸ¦‹ Members πŸ¦‹

so we're going field by field, and yes i'm gonna be normal about it (lie):

  • opcode β€” the opcode, and it's PDS_VDPA_CMD_IDENT. that's the whole job. it tells everyone "hi, this is an IDENT command" πŸ‘‘
  • rsvd β€” word boundary padding. it's just sitting there keeping the alignment cute so nothing gets misaligned. respect the padding, it's doing important structural work ✨
  • vf_id β€” the VF id. yep. which VF we're talking about. __le16, little-endian, as one does πŸŽ€
  • len β€” the length of the ident info DMA space. how much room the ident info gets. __le32 πŸ”₯
  • ident_pa β€” the address for DMA of ident info (struct pds_vdpa_ident). and here's the lil caveat that lives rent-free in my head: it's only used for this transaction, then forgotten by DSC. one transaction and it's gone, it's giving one-time-use, it's giving main-character-only-for-one-scene πŸ˜­πŸ¦‹
ngl the "then forgotten by DSC" part is the whole personality of this struct. use the address, do the DMA, and then DSC moves on with its life. no lingering attachments. periodt. πŸ’€

🌈 SEE ALSO 🌈

okay bestie this list is long, but i'm not skipping a single one because every reference ate and deserves its mention:

  • the Kernel file ./include/linux/pds/pds_adminq.h
  • struct pds_core_notifyq_event(9)
  • struct pds_core_link_change_event(9)
  • struct pds_core_reset_event(9)
  • struct pds_core_client_event(9)
  • struct pds_core_notifyq_cmd(9)
  • struct pds_core_client_reg_cmd(9)
  • struct pds_core_client_reg_comp(9)
  • struct pds_core_client_unreg_cmd(9)
  • struct pds_core_client_request_cmd(9)
  • enum pds_core_logical_qtype(9)
  • union pds_core_lif_config(9)
  • struct pds_core_lif_status(9)
  • struct pds_core_lif_info(9)
  • struct pds_core_lif_identity(9)
  • struct pds_core_lif_identify_cmd(9)
  • struct pds_core_lif_identify_comp(9)
  • struct pds_core_lif_init_cmd(9)
  • struct pds_core_lif_init_comp(9)
  • struct pds_core_lif_reset_cmd(9)
  • enum pds_core_lif_attr(9)
  • struct pds_core_lif_setattr_cmd(9)
  • struct pds_core_lif_setattr_comp(9)
  • struct pds_core_lif_getattr_cmd(9)
  • struct pds_core_lif_getattr_comp(9)
  • struct pds_core_q_identity(9)
  • struct pds_core_q_identify_cmd(9)
  • struct pds_core_q_identify_comp(9)
  • struct pds_core_q_init_cmd(9)
  • struct pds_core_q_init_comp(9)
  • struct pds_vdpa_cmd(9)
  • struct pds_vdpa_init_cmd(9)
  • struct pds_vdpa_ident(9)
  • struct pds_vdpa_status_cmd(9)
  • enum pds_vdpa_attr(9)
  • struct pds_vdpa_setattr_cmd(9)
  • struct pds_vdpa_vq_init_cmd(9)
  • struct pds_vdpa_vq_init_comp(9)
  • struct pds_vdpa_vq_reset_cmd(9)
  • struct pds_vdpa_vq_reset_comp(9)
  • struct pds_vdpa_set_features_cmd(9)
  • struct pds_lm_cmd(9)
  • struct pds_lm_state_size_cmd(9)
  • struct pds_lm_state_size_comp(9)
  • struct pds_lm_suspend_cmd(9)
  • struct pds_lm_suspend_status_cmd(9)
  • struct pds_lm_resume_cmd(9)
  • struct pds_lm_sg_elem(9)
  • struct pds_lm_save_cmd(9)
  • struct pds_lm_restore_cmd(9)
  • union pds_lm_dev_state(9)
  • struct pds_lm_dirty_region_info(9)
  • struct pds_lm_dirty_status_cmd(9)
  • enum pds_lm_dirty_bmp_type(9)
  • struct pds_lm_dirty_status_comp(9)
  • struct pds_lm_dirty_enable_cmd(9)
  • struct pds_lm_dirty_disable_cmd(9)
  • struct pds_lm_dirty_seq_ack_cmd(9)
  • struct pds_lm_host_vf_status_cmd(9)
  • struct pds_fwctl_cmd(9)
  • struct pds_fwctl_comp(9)
  • struct pds_fwctl_ident_cmd(9)
  • struct pds_fwctl_ident(9)
  • struct pds_fwctl_query_cmd(9)
  • struct pds_fwctl_query_comp(9)
  • struct pds_fwctl_query_data_endpoint(9)
  • struct pds_fwctl_query_data_operation(9)
  • struct pds_fwctl_query_data(9)
  • struct pds_fwctl_rpc_cmd(9)
  • struct pds_sg_elem(9)
  • struct pds_fwctl_rpc_comp(9)

like i said. a lot of friends. all iconic, all linked, all present and accounted for πŸ’–βœ¨


🧚 sign-off 🧚

and that's the page!! this one comes to you from ./include/linux/pds, dated October 2026 β€” so like, future-dated manual page energy, we love a queen who plans ahead πŸ‘‘β­

go read the other structs, bestie. iykyk. πŸ’œπŸŒΈ

πŸ“¦ where this page comes from