idpf_set_rxfh(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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