i40e_rx_hash(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so we're looking at i40e_rx_hash(9) today bestie, and it comes to us straight from the Kernel API Manual ✨ it's a tiny little function with main character energy, one job, does it slay.


✨ NAME ✨

i40e_rx_hash β€” set the hash value in the skb 🫢

like literally that's it, that's the whole gig. it sets the hash value. in the skb. periodt.


🌸 SYNOPSIS 🌸

void i40e_rx_hash (struct i40e_ring *ring , union i40e_rx_desc *rx_desc
, struct sk_buff *skb , u8 rx_ptype );

no return value, it's a void, it just goes in there and does the thing and leaves πŸ’…


πŸ’– ARGUMENTS πŸ’–

okay so four things go in, let's meet them:

  • ring β€” the descriptor ring πŸŽ€ like the whole vibe container
  • rx_desc β€” the specific descriptor, iykyk, the one little entry in question
  • skb β€” the skb that's currently being received and modified rn, living its best life mid-receive
  • rx_ptype β€” the Rx packet type, it's a u8 bestie, keep it cute

πŸ¦‹ SEE ALSO πŸ¦‹

first up, the kernel file is ./drivers/net/ethernet/intel/i40e/i40e_txrx.c β€” go read it, it's giving lore πŸ‘‘

and then. okay. buckle up. the friend group is HUGE:

i40e_fdir(9), i40e_program_fdir_filter(9), i40e_create_dummy_packet(9), i40e_create_dummy_udp_packet(9), i40e_create_dummy_tcp_packet(9), i40e_create_dummy_sctp_packet(9), i40e_prepare_fdir_filter(9), i40e_change_filter_num(9), i40e_add_del_fdir_udp(9), i40e_add_del_fdir_tcp(9), i40e_add_del_fdir_sctp(9), i40e_add_del_fdir_ip(9), i40e_add_del_fdir(9), i40e_fd_handle_status(9), i40e_unmap_and_free_tx_resource(9), i40e_clean_tx_ring(9), i40e_free_tx_resources(9), i40e_get_tx_pending(9), i40e_detect_recover_hung(9), i40e_clean_tx_irq(9), i40e_enable_wb_on_itr(9), i40e_force_wb(9), i40e_update_itr(9), i40e_reuse_rx_page(9), i40e_clean_programming_status(9), i40e_setup_tx_descriptors(9), i40e_clean_rx_ring(9), i40e_free_rx_resources(9), i40e_setup_rx_descriptors(9), i40e_release_rx_desc(9), i40e_alloc_mapped_page(9), i40e_alloc_rx_buffers(9), i40e_rx_checksum(9), i40e_process_skb_fields(9), i40e_cleanup_headers(9), i40e_can_reuse_rx_page(9), i40e_rx_buffer_flip(9), i40e_get_rx_buffer(9), i40e_put_rx_buffer(9), i40e_process_rx_buffs(9), i40e_construct_skb(9), i40e_build_skb(9), i40e_is_non_eop(9), i40e_run_xdp(9), i40e_xdp_ring_update_tail(9), i40e_update_rx_stats(9), i40e_finalize_xdp_rx(9), i40e_inc_ntp(9), i40e_add_xdp_frag(9), i40e_consume_xdp_buff(9), i40e_clean_rx_irq(9), i40e_buildreg_itr(9), i40e_update_enable_itr(9), i40e_napi_poll(9), i40e_atr(9), i40e_tx_prepare_vlan_flags(9), i40e_tso(9), i40e_tsyn(9), i40e_tx_enable_csum(9), i40e_create_tx_ctx(9), __i40e_maybe_stop_tx(9), __i40e_chk_linearize(9), i40e_tx_map(9), i40e_xmit_xdp_ring(9), i40e_xmit_frame_ring(9), i40e_lan_xmit_frame(9), i40e_xdp_xmit(9)

that's the whole group chat, no cap, every single one of them tagged πŸ’€


ngl this page is short and sweet β€” but do NOT sleep on the see-also list, it's literally 67 whole functions, that's a lot of friends for one little hash setter πŸ“

and that's the tea bestie 🧚 from the ./drivers/net/ethernet/intel/i40e source corner, dated October 2026 β€” go off, i40e_rx_hash(9), you iconic little void πŸ’œπŸŒˆ

πŸ“¦ where this page comes from