STRUCT DEVLINK_PARAM(9)
π struct devlink_param(9) π
okay bestie, welcome to the Kernel API Manual page for struct devlink_param β this is the little data bundle that tells devlink all about one configuration parameter. no cap, it's giving "driver paperwork but make it iconic." π
π NAME π
struct devlink_param β devlink configuration parameter data β¨
β¨ SYNOPSIS β¨
struct devlink_param {
u32 id;
const char *name;
bool generic;
enum devlink_param_type type;
unsigned long supported_cmodes;
int (*get)(struct devlink *devlink, u32 id, struct
devlink_param_gset_ctx *ctx, struct netlink_ext_ack *extack);
int (*set)(struct devlink *devlink, u32 id, struct
devlink_param_gset_ctx *ctx, struct netlink_ext_ack *extack);
int (*validate)(struct devlink *devlink, u32 id, union
devlink_param_value *val, struct netlink_ext_ack *extack);
int (*get_default)(struct devlink *devlink, u32 id, struct
devlink_param_gset_ctx *ctx, struct netlink_ext_ack *extack);
int (*reset_default)(struct devlink *devlink, u32 id, enum
devlink_param_cmode cmode, struct netlink_ext_ack *extack);
};
π«Ά Members π«Ά
idβ devlink parameter id number πnameβ name of the parameter π·οΈgenericβ indicates if the parameter is generic or driver specific πtypeβ parameter type π§¬supported_cmodesβ bitmap of supported configuration modes πΊοΈgetβ get parameter value, used for runtime and permanent configuration modes π£setβ set parameter value, used for runtime and permanent configuration modes π οΈvalidateβ validate input value is applicable (within value range, etc.) βget_defaultβ get parameter default value, used for runtime and permanent configuration modes π±reset_defaultβ reset parameter to default value, used for runtime and permanent configuration modes π
πΈ Description πΈ
so this struct is literally what the driver uses to fill in the data for a parameter it registers. that's the whole vibe. the driver fills it out, the parameter gets registered, and everyone moves on with their day. π«Ά
π SEE ALSO π
Kernel file ./include/net/devlink.h β and then the whole devlink family reunion:
struct devlink_port_pci_pf_attrs(9)struct devlink_port_pci_vf_attrs(9)struct devlink_port_pci_sf_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_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)
source/version: ./include/net Β· date: October 2026 Β· title: struct devlink_param(9) Β· manual: Kernel API Manual β mwah, go register those parameters responsibly πβ¨
π¦ 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