ice_devlink_...fwd_validate(9)
π ice_devlink_local_fwd_validate β from the Kernel API Manual π§
okay so bestie, we're in the Kernel API Manual today (yes, that one, the big book of C spells) and the page we're reading is ice_devlink_...fwd_validate(9) β the abbreviated name, because the full one is ice_devlink_local_fwd_validate and it's lowkey a mouthful. it's the little validator that goes "hmm, is this local_fwd value even legal?" before anybody commits to it. no cap, it's giving gatekeeper energy and honestly? she's serving. β¨
πΈ NAME πΈ
ice_devlink_local_fwd_validate β Validate passed local_fwd parameter value.
like, literally just that. it checks the vibe of a local_fwd value and tells you if it passes. periodt. π
π SYNOPSIS π
int ice_devlink_local_fwd_validate (struct devlink *devlink , u32 id ,
union devlink_param_value *val , struct netlink_ext_ack *extack );
one function, four args, returns an int. she's compact and she knows it π
π¦ ARGUMENTS π¦
devlinkβ Unused pointer todevlinkinstance. yeah queen, she's there but she's not participating. decorative. main character in the cast list only πidβ The parameter ID to validate. this is which parameter we're looking at, so we know we're judging the right one. π―valβ Value to validate. the actual thing under the microscope. this is the moment she's been training for βextackβ Netlink extended ACK structure. the little messenger that carries extra info back through netlink β iykyk π
π₯ DESCRIPTION π₯
okay so here's the whole tea β β the supported values are:
"enabled"βlocal_fwdis enabled β"disabled"βlocal_fwdis disabled π«"prioritized"βlocal_fwdtraffic is prioritized in scheduling ππ₯
that's it. that's the list. if you're passing something that isn't one of those three strings, she's gonna have feelings about it, and those feelings are negative. π
ngl, don't try to get creative with your strings here. she accepts exactly three values and she is not in a generous mood about synonyms π
π RETURN π
- Zero when the passed parameter value is supported β β¨
- Negative value on error π
fr fr that's the whole contract: zero = slay, negative = not slay. π«Ά
π SEE ALSO π
also the kernel file lives right here, in case you wanna go snooping:
./drivers/net/ethernet/intel/ice/devlink/devlink.c
and here's the whole friend group β every one of these cuties is in the same orbit:
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_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_devcaps_snapshot(9)ice_devlink_init_regions(9)ice_devlink_destroy_regions(9)
thirty-five besties. thirty-five. she keeps her circle tight but large π«Άπ
and that's the page, babe π source path is ./drivers/net/ethernet/intel/i... (yes it's truncated, no I can't fix it, the manpage said so π), dated October 2026, and it signs off as ice_devlink_...fwd_validate(9) β same as it opened. full circle, iconic behavior, we love a consistent queen πβ¨π
π¦ 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