STRUCT EFX_ARFS_RULE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct efx_arfs_rule(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so picture this: you're deep in the ./drivers/net/ethernet/sfc/siena directory (yes the whole manual lives there, we stan a niche), and you open the Kernel API Manual page for struct efx_arfs_rule(9). that's what we're doing today. it's giving "the receipts for one little ARFS filter" ✨

πŸ’– NAME πŸ’–

struct efx_arfs_rule β€” literally the record of an ARFS filter and its IDs. one struct, one filter, all the bookkeeping, no cap πŸ“’

πŸ¦‹ SYNOPSIS πŸ¦‹

struct efx_arfs_rule {
    struct hlist_node node;
    struct efx_filter_spec spec;
    u16 rxq_index;
    u16 arfs_id;
    s32 filter_id;
 };

look at her. five members, flawless, zero notes πŸ’…

🌸 Members 🌸

  • node β€” the linkage into the hash table πŸ”— she's literally the social connector.
  • spec β€” the details of the filter, and it's also used as the key for the hash table, highkey dual-purpose main character energy. when you need to know which member to use, check efx->type β€” that's the vibe check that tells you what's what πŸ‘€
  • rxq_index β€” the channel to which the filter will steer traffic. traffic direction queen 🚦
  • arfs_id β€” the filter ID that was handed back to ARFS πŸŽ€
  • filter_id β€” the index in the software filter table, and bestie she has lore. she might be:
    • EFX_ARFS_FILTER_ID_PENDING β€” if the filter wasn't inserted yet πŸ™ˆ (we're waiting, we're patient)
    • EFX_ARFS_FILTER_ID_ERROR β€” if the filter insertion failed 😭
    • EFX_ARFS_FILTER_ID_REMOVING β€” if expiry is currently removing the filter πŸ’€ mid-exit, don't perceive her

πŸ”₯ SEE ALSO πŸ”₯

the whole friend group, in order, from the kernel file ./drivers/net/ethernet/sfc/siena/net_driver.h:

  • struct efx_buffer(9)
  • struct efx_special_buffer(9)
  • struct efx_tx_buffer(9)
  • struct efx_tx_queue(9)
  • struct efx_rx_buffer(9)
  • struct efx_rx_page_state(9)
  • struct efx_rx_queue(9)
  • struct efx_channel(9)
  • struct efx_msi_context(9)
  • struct efx_channel_type(9)
  • struct efx_link_state(9)
  • enum efx_phy_mode(9)
  • struct efx_hw_stat_desc(9)
  • struct efx_rss_context(9)
  • struct efx_async_filter_insertion(9)
  • struct efx_nic(9)
  • struct efx_nic_type(9)

go read all seventeen of them, i'll wait 🫢 iykyk 🌈


and that's the page, bestie β€” delivered straight from ./drivers/net/ethernet/sfc/siena, dated October 2026, signed off with a lil struct efx_arfs_rule(9) for old times' sake. periodt. πŸ’œ

πŸ“¦ where this page comes from