STRUCT PDS_VDPA_SETATTR_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct pds_vdpa_setattr_cmd β€” the SET_ATTR command bestie πŸ’–

okay so this is a page from the Kernel API Manual, and it's literally all about one lil struct: struct pds_vdpa_setattr_cmd, aka the SET_ATTR command πŸŽ€. it's giving "small struct, big responsibilities" and honestly? we're obsessed.


✨ SYNOPSIS ✨

here's the whole glow-up, character for character, no cap:

struct pds_vdpa_setattr_cmd {
    u8 opcode;
    u8 vdpa_index;
    __le16 vf_id;
    u8 attr;
    u8 pad[3];
    union {
      u8 mac[6];
      __le16 max_vq_pairs;
    };
 };

like… she's compact, she's got a union, she's an icon πŸ‘‘


πŸ¦‹ Members πŸ¦‹

let's meet the cast, one field at a time 🫢

  • opcode β€” the opcode, and it's PDS_VDPA_CMD_SET_ATTR. this is the "hey what am I even doing" field πŸ’…
  • vdpa_index β€” the index for the vdpa subdevice. which subdevice are we talking to? this field knows 🌸
  • vf_id β€” the VF id. an __le16, so yes, endianness matters, be normal about it 🧚
  • attr β€” the attribute to be changed. its type is enum pds_vdpa_attr, so it's a proper enum, not vibes-based πŸ™ˆ
  • pad β€” word boundary padding. it's a u8 pad[3], it's just out here keeping the word boundary cute and aligned, doing god's work honestly πŸ’€
  • {unnamed_union} β€” an anonymous union, literally unnamed, main character energy without a name 😭
  • mac β€” a u8 mac[6], the new mac address to be assigned as the vdpa device address. yes she's 6 bytes, yes she slays ✨
  • max_vq_pairs β€” an __le16, the new limit of virtqueue pairs. capping the queue pairs, respectfully πŸ”₯

🌈 SEE ALSO 🌈

bestie the whole squad pulled up, and I mean the WHOLE squad. first off, the source of truth:

Kernel file ./include/linux/pds/pds_adminq.h

and now, the group chat 🫢 (every single one, fr fr):

  • 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_ident_cmd(9)
  • struct pds_vdpa_status_cmd(9)
  • enum pds_vdpa_attr(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, that's the entire extended universe, iykyk πŸ’œ


okay and one last thing before you go, the receipts 🧾 β€” this page lives in ./include/linux/pds, dated October 2026, and when you cite it you cite struct pds_vdpa_setattr_cmd(9). that's the whole footer, bestie, we're done β€” periodt πŸ’…πŸ’–

πŸ“¦ where this page comes from