ice_rx_flow_steer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_rx_flow_steer β€” the kernel API manual, section 9, bestie

okay so like, welcome to ice_rx_flow_steer(9), straight out of the Kernel API Manual ✨ this is the lil function that steers your Rx flow to wherever your app is actually running, and honestly? it's giving main character energy πŸŽ€


✨ NAME ✨

ice_rx_flow_steer β€” steer the Rx flow to where application is being run πŸ¦‹

literally that's the whole vibe. the packets go where the app lives. slay.


🌸 SYNOPSIS 🌸

int ice_rx_flow_steer (struct net_device *netdev , const struct sk_buff
*skb , u16 rxq_idx , u32 flow_id );

no cap, that's the exact signature, don't @ me πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • netdev β€” ptr to the netdev being adjusted. yes bestie, we're touching the netdev πŸ™ˆ
  • skb β€” buffer with required header information. it's carrying the receipts we need πŸ“¨
  • rxq_idx β€” queue to which the flow needs to move. the new address, the new home, the upgrade 🏠
  • flow_id β€” flow identifier provided by the netdev. its little name tag 🏷️

πŸ‘‘ DESCRIPTION πŸ‘‘

ok so here's the tea β˜• based on the skb, rxq_idx, and flow_id you pass in, we add/update an entry in the aRFS hash table. that's the whole job. iconic.

then we iterate over one of the hlists in the aRFS hash table, and check the vibes 😌:

  • if the flow_id already exists in the hash table but the rxq_idx has changed β†’ mark the entry as ICE_ARFS_INACTIVE so it can get updated in HW πŸ”₯ (it's not being deleted, it's just in its quiet era)
  • else if the entry is marked as ICE_ARFS_TODEL β†’ delete it from the aRFS hash table πŸ’€ bye bestie
  • if neither of the previous conditions are true β†’ add a brand new entry in the aRFS hash table, which gets set to ICE_ARFS_INACTIVE by default so it can be added to HW ⭐ new entry, new me, default-inactive so the hardware can pick it up 🫢

that's it, that's the algorithm, no notes πŸ’œ


🌈 SEE ALSO 🌈

the kernel file itself, bestie, go read it:

Kernel file ./drivers/net/ethernet/intel/ice/ice_arfs.c

and the whole friend group 🧚:


and that's the page!! this little work of art lives in ./drivers/net/ethernet/intel/ice, dated October 2026 β€” mwah, sending love, go steer some flows bestie πŸ’–πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from