ice_devlink_...aps_snapshot(9)
π NAME π
ok so this is ice_devlink_devcaps_snapshot β bestie, it literally captures a snapshot of device capabilities β¨ (like, the whole point is grabbing a pic of what the firmware says the device can do).
this page is from the kernel API manual, section 9, and yes the title up top is spelled ice_devlink_...aps_snapshot(9) because somebody's terminal was being dramatic π β the real one is ice_devlink_devcaps_snapshot.
π¦ SYNOPSIS π¦
int ice_devlink_devcaps_snapshot (struct devlink *devlink , const struct
devlink_region_ops *ops , struct netlink_ext_ack *extack , u8 **data );
π ARGUMENTS π
devlinkβ the devlink instance π«Ά like, the actual object we're doing the thing on.opsβ the devlink region being snapshotted π this is the one getting its picture taken.extackβ the extended ACK response structure π (the lil messenger that carries extra details back to userspace).dataβ on exit it points to the snapshot data buffer πΈ so like, when the function's done, this baby is pointing at your fresh data buffer.
β¨ DESCRIPTION β¨
okay so here's the vibe: this function gets called in response to DEVLINK_CMD_REGION_TRIGGER for the device-caps devlink region π₯ it captures a snapshot of the device capabilities reported by firmware β no cap, that's literally its whole job π
it returns zero on success, and it updates the data pointer β
(yes bestie, the pointer update is part of the deal).
on failure it returns a non-zero error code π so like, check the return value, always, periodt.
π SEE ALSO π
the kernel file this lives in is ./drivers/net/ethernet/intel/ice/devlink/devlink.c β go read it, iykyk π§
and here's the whole friend group, all section 9, all iconic π
ice_devlink_info_get(9)ice_devlink_reload_empr_start(9)ice_devlink_reinit_down(9)ice_devlink_reload_down(9)ice_devlink_reload_empr_finish(9)ice_get_tx_topo_user_sel(9)ice_update_tx_topo_user_sel(9)ice_devlink_tx_sched_layers_get(9)ice_devlink_tx_sched_layers_set(9)ice_devlink_tx_sched_layers_validate(9)ice_tear_down_devlink_rate_tree(9)ice_enable_custom_tx(9)ice_traverse_tx_tree(9)ice_devlink_rate_init_tx_topology(9)ice_devlink_rate_clear_tx_topology(9)ice_set_object_tx_share(9)ice_set_object_tx_max(9)ice_set_object_tx_priority(9)ice_set_object_tx_weight(9)ice_get_pi_from_dev_rate(9)ice_devlink_reinit_up(9)ice_devlink_reload_up(9)ice_devlink_local_fwd_mode_to_str(9)ice_devlink_local_fwd_str_to_mode(9)ice_devlink_local_fwd_get(9)ice_devlink_local_fwd_set(9)ice_devlink_local_fwd_validate(9)ice_allocate_pf(9)ice_allocate_sf(9)ice_devlink_register(9)ice_devlink_unregister(9)ice_devlink_nvm_snapshot(9)ice_devlink_nvm_read(9)ice_devlink_init_regions(9)ice_devlink_destroy_regions(9)
lowkey reminder: success gives you0and a shiny updateddatapointer, anything non-zero means nope, something went sideways π
and that's the page, bestie π this one's straight out of ./drivers/net/ethernet/intel/i..., dated October 2026, filed under ice_devlink_...aps_snapshot(9) β mwah, go snapshot those capabilities ππ
π¦ 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