ENUM NCSI_NL_COMMANDS(9)
π enum ncsi_nl_commands β the kernel API manual bestie
okay so this is the enum ncsi_nl_commands(9) page from the Kernel API Manual and honestly? it's giving "the entire menu of NCSI commands you're allowed to throw at the kernel" β¨ stay with me, it's not that deep.
πΈ NAME πΈ
enum ncsi_nl_commands β the supported NCSI commands, periodt π
β¨ SYNOPSIS β¨
no cap, here's the whole enum, exactly as it lives, don't touch a single character:
enum ncsi_nl_commands {
NCSI_CMD_UNSPEC ,
NCSI_CMD_PKG_INFO ,
NCSI_CMD_SET_INTERFACE ,
NCSI_CMD_CLEAR_INTERFACE ,
NCSI_CMD_SEND_CMD ,
NCSI_CMD_SET_PACKAGE_MASK ,
NCSI_CMD_SET_CHANNEL_MASK ,
__NCSI_CMD_AFTER_LAST ,
NCSI_CMD_MAX
};
π Constants π
okay, one by one, main character energy each:
NCSI_CMD_UNSPECβ the "unspecified command" that lowkey exists just to catch errors π«Ά it's the safety net of the enum, fr fr.NCSI_CMD_PKG_INFOβ lists package and channel attributes β¨ it requiresNCSI_ATTR_IFINDEX. and listen: ifNCSI_ATTR_PACKAGE_IDis specified, it returns that specific package plus its channels β otherwise a dump request returns all packages and all their associated channels π that's a lot of tea.NCSI_CMD_SET_INTERFACEβ sets the preferred package and channel combination π requiresNCSI_ATTR_IFINDEXplus the preferredNCSI_ATTR_PACKAGE_ID, and optionally the preferredNCSI_ATTR_CHANNEL_ID.NCSI_CMD_CLEAR_INTERFACEβ clears any preferred package/channel combination π§Ή requiresNCSI_ATTR_IFINDEX. that's it. clean slate, iconic.NCSI_CMD_SEND_CMDβ sends an NC-SI command to the network card π₯ requiresNCSI_ATTR_IFINDEX,NCSI_ATTR_PACKAGE_IDandNCSI_ATTR_CHANNEL_ID. all three, no skipping, iykyk.NCSI_CMD_SET_PACKAGE_MASKβ sets a whitelist of allowed packages π requiresNCSI_ATTR_IFINDEXandNCSI_ATTR_PACKAGE_MASK.NCSI_CMD_SET_CHANNEL_MASKβ sets a whitelist of allowed channels π requiresNCSI_ATTR_IFINDEX,NCSI_ATTR_PACKAGE_ID, andNCSI_ATTR_CHANNEL_MASK. AND ifNCSI_ATTR_CHANNEL_IDis present, it sets the primary channel β little bonus behaviour, we love to see it.__NCSI_CMD_AFTER_LASTβ honestly?-- undescribed --π the manpage itself said nothing about it, so neither will i. she's mysterious. respect it.NCSI_CMD_MAXβ highest command number π¦ the ceiling, the final boss, the end of the list.
π¦ SEE ALSO π¦
go read the kernel file ./include/uapi/linux/ncsi.h and then these three besties, they're all connected fr fr:
enum ncsi_nl_attrs(9)enum ncsi_nl_pkg_attrs(9)enum ncsi_nl_channel_attrs(9)
π friendly reminder: this page lives under ./include/uapi/linux β that's the home base, don't lose it.
and that's the whole vibe check π
from the Kernel API Manual, dated October 2026, signed off by the ./include/uapi/linux directory itself and stamped enum ncsi_nl_commands(9) β slay, you're now fluent in NCSI commands, bestie π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms