libnvme(2)

πŸ’– NAME πŸ’–

struct nvme_mi_port_pcie β€” the little glowed-up bundle of PCIe Port Specific Data, bestie πŸ’…

So like, this is a page straight out of the libnvme API Manual, section 2, and we're gonna talk about a struct that holds everything your NVMe-MI thing needs to know about a PCIe port πŸ¦‹


✨ SYNOPSIS ✨

Okay so here's the whole vibe, no cap:

struct nvme_mi_port_pcie {
    __u8 mps;
    __u8 sls;
    __u8 cls;
    __u8 mlw;
    __u8 nlw;
    __u8 pn;
    __u8 rsvd14[18];
 };

That's it. That's the struct. Seven members and she's serving πŸŽ€


🌸 Members 🌸

Not me listing every single one of these, because every single one matters, fr fr:

  • mps β€” the PCIe Maximum Payload Size. yes bestie, the biggest chunk she can carry in one go πŸ’–
  • sls β€” the PCIe Supported Link Speeds Vector. this is the whole menu of speeds the link can do, iconic ✨
  • cls β€” the PCIe Current Link Speed. not the menu, the actual order she picked. main character energy πŸ‘‘
  • mlw β€” the PCIe Maximum Link Width. how wide the link could be 🌈
  • nlw β€” the PCIe Negotiated Link Width. how wide they actually agreed on, which is a conversation πŸ’€
  • pn β€” the PCIe Port Number. literally just which port we're talking about πŸ“
  • rsvd14 β€” Reserved. do NOT touch her, she's resting 😴 reserved means reserved, periodt πŸ™ˆ
lowkey important: rsvd14 is Reserved, so please don't go writing your little secrets in there, bestie. hands off 🫢

so yeah, that's the whole struct, every member accounted for, nothing skipped, we ate and left no crumbs πŸ§šπŸ’œ

sign-off time 🌟 β€” this lil page is the struct nvme_mi_port_pcie page from the libnvme(2) API Manual, and it's dated July 2026. mwah, go read some more pages, ily, byeee πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from