STRUCT DEVLINK_PORT_PCI_SF_ATTRS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual entry for struct devlink_port_pci_sf_attrs πŸ’… this is the one about devlink port's PCI SF attributes, and honestly? it's giving "small struct, big responsibilities" πŸŽ€


🌸 NAME 🌸

struct devlink_port_pci_sf_attrs β€” literally the devlink port's PCI SF attributes πŸ’– that's it, that's the name, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole vibe, character for character, don't touch it:

struct devlink_port_pci_sf_attrs {
    u32 controller;
    u32 sf;
    u16 pf;
    u8 external:1;
 };

like... four little members and they're all main characters πŸ‘‘


πŸŽ€ Members πŸŽ€

  • controller β€” the associated controller number ✨ that's the whole assignment, bestie, it's u32 and it's doing its job.
  • sf β€” the associated SF number of a PF for the devlink port instance 🌈 yes, SF number, of a PF, for the devlink port instance β€” every word of that matters, iykyk.
  • pf β€” the associated PCI function number for the devlink port instance 🫢 a u16 and honestly? humble. iconic. also a PCI function number, for the devlink port instance, in case you missed it.
  • external β€” when set, indicates if a port is for an external host controller πŸ’€ it's a u8 bitfield with :1, so it literally only gets one bit to make its whole point. when set β†’ external host controller. slay.
🧚 reminder: this is a struct definition, not a function β€” these are members, so there's no return value, no exit status, nothing to call. just vibes and fields, periodt.

πŸ”₯ SEE ALSO πŸ”₯

okay this list is LONG and we are NOT skipping a single one, bestie β€” the kernel file is ./include/net/devlink.h and everything below is fr fr related πŸ’œ

  • struct devlink_port_pci_pf_attrs(9)
  • struct devlink_port_pci_vf_attrs(9)
  • struct devlink_port_attrs(9)
  • struct devlink_linecard_ops(9)
  • struct devlink_dpipe_field(9)
  • struct devlink_dpipe_header(9)
  • struct devlink_dpipe_match(9)
  • struct devlink_dpipe_action(9)
  • struct devlink_dpipe_value(9)
  • struct devlink_dpipe_entry(9)
  • struct devlink_dpipe_dump_ctx(9)
  • struct devlink_dpipe_table(9)
  • struct devlink_dpipe_table_ops(9)
  • struct devlink_dpipe_headers(9)
  • struct devlink_resource_size_params(9)
  • struct devlink_flash_notify(9)
  • struct devlink_param(9)
  • struct devlink_flash_update_params(9)
  • struct devlink_region_ops(9)
  • struct devlink_port_region_ops(9)
  • struct devlink_health_reporter_ops(9)
  • struct devlink_trap_metadata(9)
  • struct devlink_trap_policer(9)
  • struct devlink_trap_group(9)
  • struct devlink_trap(9)
  • struct devlink_port_ops(9)

like, the whole devlink friend group showed up to the group chat πŸŒΈπŸ¦‹ twenty-six of them plus the current one and every single one got an invite. obsessed.


and that's the page!! πŸŽ‰ cute lil sign-off for the credits: this one lives under ./include/net and the date on it is October 2026, so yeah β€” go read struct devlink_port_pci_sf_attrs(9) and stay hydrated πŸ’–πŸ’…βœ¨

πŸ“¦ where this page comes from