STRUCT NFT_EXPR_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay so this is the Kernel API Manual page for struct nft_expr_type(9), and it's literally the nf_tables expression type β€” the blueprint vibe for expression types, iykyk. πŸ¦‹


✨ SYNOPSIS ✨

Here's the whole struct, bestie β€” every field exactly as it appears:

       struct nft_expr_type {
           const struct nft_expr_ops       *(*select_ops)(const struct nft_ctx
       *, const struct nlattr * const tb[]);
           void (*release_ops)(const struct nft_expr_ops *ops);
           const struct nft_expr_ops       *ops;
           const struct nft_expr_ops       *inner_ops;
           struct list_head                list;
           const char                      *name;
           struct module                   *owner;
           const struct nla_policy         *policy;
           unsigned int                    maxattr;
           u8 family;
           u8 flags;
        };

πŸ’… Members πŸ’…

Now the member-by-member rundown, no skips, periodt:

  • select_ops β€” function to select nft_expr_ops 🎯
  • release_ops β€” release nft_expr_ops
  • ops β€” default ops, used when no select_ops function is present
  • inner_ops β€” inner ops, used for inner packet operation
  • list β€” used internally
  • name β€” Identifier
  • owner β€” module reference
  • policy β€” netlink attribute policy
  • maxattr β€” highest netlink attribute number
  • family β€” address family for AF-specific types
  • flags β€” expression type flags

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/net/netfilter/nf_tables.h β€” go read it, bestie. And the whole crew:

  • struct nft_verdict(9)
  • struct nft_regs(9)
  • struct nft_ctx(9)
  • struct nft_userdata(9)
  • struct nft_set_elem(9)
  • enum nft_iter_type(9)
  • struct nft_set_desc(9)
  • enum nft_set_class(9)
  • struct nft_set_estimate(9)
  • struct nft_expr(9)
  • struct nft_set_ops(9)
  • struct nft_set_type(9)
  • struct nft_set(9)
  • struct nft_set_binding(9)
  • enum nft_set_extensions(9)
  • struct nft_set_ext_type(9)
  • struct nft_set_ext_tmpl(9)
  • struct nft_set_ext(9)
  • struct nft_expr_ops(9)
  • struct nft_rule(9)
  • struct nft_chain_validate_state(9)
  • struct nft_chain(9)
  • struct nft_chain_type(9)
  • struct nft_base_chain(9)
  • struct nft_table(9)
  • struct nft_object_hash_key(9)
  • struct nft_object(9)
  • struct nft_object_type(9)
  • struct nft_object_ops(9)
  • struct nft_flowtable(9)
  • struct nft_traceinfo(9)
  • struct nft_trans(9)
  • struct nft_trans_hook(9)
  • struct nft_trans_binding(9)

That's the whole page, bestie. Source/version vibes: ./include/net/netfilter; date: October 2026 β€” struct nft_expr_type(9) out. πŸ’…βœ¨

πŸ“¦ where this page comes from