ENUM DCBNL_CAP_ATTRS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum dcbnl_cap_attrs(9) ✨

okay bestie, so we're in the Kernel API Manual today and the main character of this page is the enum dcbnl_cap_attrs β€” it's literally the enum behind DCB Capability attributes πŸ’…. DCB = Data Center Bridging, and these little guys are the attribute IDs that describe what your NIC can actually do. no cap.


🌸 NAME 🌸

enum dcbnl_cap_attrs β€” DCB Capability attributes. it's giving "menu of things a device can be asked about", and honestly? iconic.


πŸ¦‹ SYNOPSIS πŸ¦‹

enum dcbnl_cap_attrs {
    DCB_CAP_ATTR_UNDEFINED ,
    DCB_CAP_ATTR_ALL ,
    DCB_CAP_ATTR_PG ,
    DCB_CAP_ATTR_PFC ,
    DCB_CAP_ATTR_UP2TC ,
    DCB_CAP_ATTR_PG_TCS ,
    DCB_CAP_ATTR_PFC_TCS ,
    DCB_CAP_ATTR_GSP ,
    DCB_CAP_ATTR_BCN ,
    DCB_CAP_ATTR_DCBX ,
    __DCB_CAP_ATTR_ENUM_MAX ,
    DCB_CAP_ATTR_MAX

};

like, that's the whole roster. every member present and accounted for 🫢


πŸŽ€ Constants πŸŽ€

okay so here's the vibe check on each one, and pls note the netlink type in the parens because that matters, iykyk:

  • DCB_CAP_ATTR_UNDEFINED β€” the placeholder bestie 🚩 literally an unspecified attribute to catch errors. it's there so nothing sketchy slips through.
  • DCB_CAP_ATTR_ALL β€” (NLA_FLAG) β€” the all capability parameters flag. one flag to ask about everything, slay.
  • DCB_CAP_ATTR_PG β€” (NLA_U8) β€” device supports Priority Groups. yes queen, priority groups.
  • DCB_CAP_ATTR_PFC β€” (NLA_U8) β€” device supports Priority Flow Control. flow control but make it prioritized πŸ’–
  • DCB_CAP_ATTR_UP2TC β€” (NLA_U8) β€” device supports user priority to traffic class mapping. so a priority can get mapped to a traffic class, obsessed.
  • DCB_CAP_ATTR_PG_TCS β€” (NLA_U8) β€” a bitmap where each bit represents a number of traffic classes the device can be configured to use for Priority Groups. so like, bit set = that many TCs are possible πŸ‘‘
  • DCB_CAP_ATTR_PFC_TCS β€” (NLA_U8) β€” same bitmap situation, but for Priority Flow Control instead of Priority Groups. twin energy 🌸
  • DCB_CAP_ATTR_GSP β€” (NLA_U8) β€” device supports group strict priority. strict but make it group.
  • DCB_CAP_ATTR_BCN β€” (NLA_U8) β€” device supports Backwards Congestion Notification. (yes, "Backwards" β€” that's literally what the original says, don't come for me πŸ’€)
  • DCB_CAP_ATTR_DCBX β€” (NLA_U8) β€” device supports DCBX engine. the engine!! vroom 🏎️
  • __DCB_CAP_ATTR_ENUM_MAX β€” honestly? -- undescribed -- 😭 the manpage just didn't say. leaving it mysterious, main character energy.
  • DCB_CAP_ATTR_MAX β€” also -- undescribed -- πŸ™ˆ same deal, no description given, we respect the mystery.
ngl, those last two are giving "no thoughts, head empty" in the docs, so I'm not gonna invent lore for them. what you see is what you get, fr fr.

πŸ”₯ SEE ALSO πŸ”₯

go touch the kernel file ./include/uapi/linux/dcbnl.h (it's the source of truth, always) and then check out these besties:

  • struct cee_pg(9)
  • struct cee_pfc(9)
  • struct dcb_peer_app_info(9)
  • enum dcbnl_commands(9)
  • enum dcbnl_attrs(9)
  • enum ieee_attrs(9)
  • enum cee_attrs(9)
  • enum dcbnl_pg_attrs(9)
  • enum dcbnl_tc_attrs(9)
  • enum dcbnl_numtcs_attrs(9)
  • enum dcb_general_attr_values(9)

go drink some water and read those, ok? πŸ“


and that's the whole page, bestie πŸ’œ this one lives under ./include/uapi/linux, dated October 2026 β€” so like, future-coded but make it kernel. bye, ily, don't forget to man responsibly βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from