ice_devlink_...ers_validate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual (that's the manual name, iykyk ✨) and today's main character is ice_devlink_tx_sched_layers_validate, which honestly is a whole mouthful but it's literally just the little bouncer at the door checking that your tx_scheduling_layers parameter value is, like, allowed in. no cap, that's the entire job 🫢


✨ SYNOPSIS ✨

int ice_devlink_tx_sched_layers_validate (struct devlink *devlink , u32
id , union devlink_param_value *val , struct netlink_ext_ack *extack );

like, she takes four things and gives you back an int. simple queen behavior πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

so here's the cast of characters:

  • devlink β€” a pointer to the devlink instance… except she's literally unused here πŸ™ˆ like girl is just standing there, present but not participating. we love a decorative icon.
  • id β€” the parameter ID that we're validating. this is the "which one are we checking" number.
  • val β€” the actual value we're validating. this is the thing under the microscope πŸ”¬
  • extack β€” the netlink extended ACK structure. that's the little feedback slip so netlink can be like "hey, here's what went wrong" if it goes wrong πŸ’…

🌸 DESCRIPTION 🌸

okay so the supported values are literally just these two besties:

  • 5 β€” five layers Tx Scheduler Topology Tree 🌈
  • 9 β€” nine layers Tx Scheduler Topology Tree πŸ¦‹

that's it. five or nine. no in-between, no "let me be quirky and pick seven", none of that. pick your tree depth and slay πŸ’€


⭐ RETURN ⭐

  • returns zero when the passed parameter value is supported β€” we love a clean success, fr fr πŸ’–
  • returns a negative value on error β€” not me, not the negative return 😭

heads up bestie: negative return means something didn't vibe-check correctly, so don't just ignore it and move on 🚨

πŸ”₯ SEE ALSO πŸ”₯

the whole friend group, in kernel file ./drivers/net/ethernet/intel/ice/devlink/devlink.c:

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_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_devcaps_snapshot(9), ice_devlink_init_regions(9), ice_devlink_destroy_regions(9)

like okay that's a lot of friends but they're all iconic in their own way, go say hi 🫢


and that's the page, bestie!! 🧚 source situation is ./drivers/net/ethernet/intel/i... and we're stamped October 2026, page ice_devlink_...ers_validate(9) β€” mwah, go validate those layers πŸ’œπŸŽ€

πŸ“¦ where this page comes from