idpf_set_rxfh(9)
π idpf_set_rxfh β it's giving "set the rx flow hash indirection table"
okay so bestie, we're in the Kernel API Manual today (yes, the idpf_set_rxfh(9) one, keep up π) and this is genuinely one of those little functions that does exactly one thing and does it iconically. no notes.
β¨ SYNOPSIS β¨
int idpf_set_rxfh (struct net_device *netdev , struct ethtool_rxfh_param
*rxfh , struct netlink_ext_ack *extack );
likeβ¦ look at her. three args, returns an int. main character energy fr fr π₯
π ARGUMENTS π
netdevβ the network interface device structure π«Ά that's your actual NIC bestie, the thing we're doing the whole operation on.rxfhβ pointer to the param struct (indir,key,hfunc) β¨ so it's carrying the indirection table, the hash key, and the hash function all together. very "everything bagel" of it.extackβ the extended ACK from the Netlink message π that's the little receipt/feedback channel so the caller can find out what went wrong.
π DESCRIPTION π
So here's the whole vibe: it returns -EINVAL if the table specifies an invalid queue id π β like, if the indirection table points at a queue that doesn't exist, we're not doing that, absolutely not, take your -EINVAL and go.
Otherwise? Returns 0 after programming the table. π That's it. That's the function. It programs the table, it says "slay, done," it returns 0. Clean, simple, no drama, periodt.
ngl the willingness to hard-reject a bad queue id is so valid of her. boundaries. we love to see it. π
π¦ SEE ALSO π¦
okay this is the part where I hold your hand because the friend group here is large. Sit down. Hydrate. π
First up, the kernel file herself: ./drivers/net/ethernet/intel/idpf/idpf_ethtool.c β the source of truth, the origin story, iykyk.
And then the whole extended fam:
idpf_get_rx_ring_count(9), idpf_get_rxnfc(9), idpf_add_flow_steer(9), idpf_del_flow_steer(9), idpf_get_rxfh_key_size(9), idpf_get_rxfh_indir_size(9), idpf_get_rxfh(9), idpf_get_channels(9), idpf_set_channels(9), idpf_get_ringparam(9), idpf_set_ringparam(9), struct idpf_stats(9), __idpf_add_qstat_strings(9), idpf_add_qstat_strings(9), idpf_add_stat_strings(9), idpf_get_stat_strings(9), idpf_get_strings(9), idpf_get_sset_count(9), idpf_add_one_ethtool_stat(9), idpf_add_queue_stats(9), idpf_add_empty_queue_stats(9), idpf_add_port_stats(9), idpf_collect_queue_stats(9), idpf_get_ethtool_stats(9), idpf_find_rxq_vec(9), idpf_find_txq_vec(9), __idpf_get_q_coalesce(9), idpf_get_q_coalesce(9), idpf_get_coalesce(9), idpf_get_per_q_coalesce(9), __idpf_set_q_coalesce(9), idpf_set_q_coalesce(9), idpf_set_coalesce(9), idpf_set_per_q_coalesce(9), idpf_get_msglevel(9), idpf_set_msglevel(9), idpf_get_link_ksettings(9), idpf_get_timestamp_filters(9), idpf_get_ts_info(9), idpf_get_ts_stats(9), idpf_set_ethtool_ops(9)
likeβ¦ that's the whole roster. the whole group chat. every single one is in the list, go say hi, they're all lovely π
π that's the page, bestie! this one's from ./drivers/net/ethernet/intel/idpf (the source/version vibe), dated October 2026, and the header/footer name is idpf_set_rxfh(9) β the manual name is "Kernel API Manual", if you were wondering. mwah π go program a table. β¨
π¦ 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