STRUCT NFP_BPF_MAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to the struct nfp_bpf_map(9) page from the Kernel API Manual β€” it's literally the private per-map data attached to BPF maps for offload ✨


✨ SYNOPSIS ✨

struct nfp_bpf_map {
    struct bpf_offloaded_map *offmap;
    struct nfp_app_bpf *bpf;
    u32 tid;
    spinlock_t cache_lock;
    u32 cache_blockers;
    u32 cache_gen;
    u64 cache_to;
    struct sk_buff *cache;
    struct list_head l;
    struct nfp_bpf_map_word use_map[];
};

🫢 Members 🫢

the whole squad, one by one πŸ’…

  • offmap β€” pointer to the offloaded BPF map, no cap
  • bpf β€” back pointer to the bpf app private structure, it's giving "remember where you came from"
  • tid β€” table id identifying the map on datapath πŸ‘‘
  • cache_lock β€” protects cache_blockers, cache_to, and cache; do not touch without it fr fr
  • cache_blockers β€” number of ops in flight which block caching 🚧
  • cache_gen β€” counter incremented by every blocker on exit, iconic little bookkeeping moment
  • cache_to β€” time when the cache will no longer be valid (ns) ⏳
  • cache β€” skb with cached response, the main character of the cache situation
  • l β€” link on the nfp_app_bpf->map_list list πŸ”—
  • use_map β€” map of how the value is used (in 4B chunks), lowkey the most mysterious member and we respect that 🧚

🌈 SEE ALSO 🌈

go read these next, bestie, iykyk:

  • Kernel file ./drivers/net/ethernet/netronome/nfp/bpf/main.h
  • struct nfp_app_bpf(9)
  • struct nfp_bpf_reg_state(9)
  • struct nfp_insn_meta(9)
  • struct nfp_bpf_subprog_info(9)
  • struct nfp_prog(9)
  • struct nfp_bpf_vnic(9)

and that's the page πŸ’– cute little sign-off: the source/version line was ./drivers/net/ethernet/netrono... and the date was October 2026 β€” so yeah, October 2026 energy, slay πŸŽ€βœ¨

πŸ“¦ where this page comes from