iavf_flex_rx_hash(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iavf_flex_rx_hash(9) πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ this one's a little function with one very specific job, and honestly? she knows exactly what she is. let's get into it 🫢


🌸 NAME 🌸

iavf_flex_rx_hash β€” set the hash value in the skb ✨

like, she literally just drops the hash into the skb. that's the whole gig. iconic, lowkey πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

void iavf_flex_rx_hash (const struct iavf_ring *ring , __le64 qw1 ,
       struct sk_buff *skb , const struct libeth_rx_pt decoded_pt );

no cap, that's the exact signature, don't come for me πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • ring β€” descriptor ring πŸ’« the whole setup she's working inside of
  • qw1 β€” quad word 1 🌈 literally quad word 1, that's the whole description, iykyk
  • skb β€” skb currently being received and modified πŸ‘‘ this is the main character right here, the thing getting touched
  • decoded_pt β€” decoded packet type πŸ”₯ the packet type, already decoded for you, slay

πŸ’– DESCRIPTION πŸ’–

so here's the vibe check: this function only operates on the VIRTCHNL_RXDID_2_FLEX_SQ_NIC flexible descriptor writeback format. that's it. that's the whole scope. if you're not in that format, she's not the one for you, fr fr πŸ™ˆ


⭐ SEE ALSO ⭐

the source lives here, bestie:

Kernel file ./drivers/net/ethernet/intel/iavf/iavf_txrx.c

and here's the whole friend group, in order, no one left out, periodt πŸ’…:

iavf_is_descriptor_done(9), iavf_unmap_and_free_tx_resource(9), iavf_clean_tx_ring(9), iavf_free_tx_resources(9), iavf_get_tx_pending(9), iavf_force_wb(9), iavf_detect_recover_hung(9), iavf_clean_tx_irq(9), iavf_enable_wb_on_itr(9), iavf_update_itr(9), iavf_setup_tx_descriptors(9), iavf_clean_rx_ring(9), iavf_free_rx_resources(9), iavf_setup_rx_descriptors(9), iavf_release_rx_desc(9), iavf_receive_skb(9), iavf_alloc_rx_buffers(9), iavf_rx_csum(9), iavf_legacy_rx_csum(9), iavf_flex_rx_csum(9), iavf_legacy_rx_hash(9), iavf_flex_rx_tstamp(9), iavf_process_skb_fields(9), iavf_cleanup_headers(9), iavf_add_rx_frag(9), iavf_build_skb(9), iavf_is_non_eop(9), iavf_extract_legacy_rx_fields(9), iavf_extract_flex_rx_fields(9), iavf_clean_rx_irq(9), iavf_update_enable_itr(9), iavf_napi_poll(9), iavf_tx_prepare_vlan_flags(9), iavf_tso(9), iavf_tx_enable_csum(9), iavf_create_tx_ctx(9), __iavf_chk_linearize(9), __iavf_maybe_stop_tx(9), iavf_tx_map(9), iavf_xmit_frame_ring(9), iavf_xmit_frame(9)


and that's the page! πŸ’œ this lil beauty came out of ./drivers/net/ethernet/intel/iavf back in October 2026 β€” mwah, kisses to the source, she ate πŸ“βœ¨

πŸ“¦ where this page comes from