ENUM NFT_CHAIN_ATTRIBUTES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum nft_chain_attributes(9) ✨

okay so this is a Linux Kernel API Manual page, section 9, and it's literally all about enum nft_chain_attributes β€” the netlink attribute crew for nf_tables chains. if you're poking at netfilter tables from userspace, this is your girl. πŸŽ€


πŸ’… NAME

enum nft_chain_attributes β€” the nf_tables chain netlink attributes, bestie. that's the whole vibe.


🌸 SYNOPSIS

enum nft_chain_attributes {
    NFTA_CHAIN_UNSPEC ,
    NFTA_CHAIN_TABLE ,
    NFTA_CHAIN_HANDLE ,
    NFTA_CHAIN_NAME ,
    NFTA_CHAIN_HOOK ,
    NFTA_CHAIN_POLICY ,
    NFTA_CHAIN_USE ,
    NFTA_CHAIN_TYPE ,
    NFTA_CHAIN_COUNTERS ,
    NFTA_CHAIN_PAD ,
    NFTA_CHAIN_FLAGS ,
    NFTA_CHAIN_ID ,
    NFTA_CHAIN_USERDATA ,
    __NFTA_CHAIN_MAX

};

πŸ¦‹ Constants

ngl this is the main character section. every constant, no skips, periodt. πŸ‘‘

  • NFTA_CHAIN_UNSPEC β€” <italic>-- undescribed --</italic> πŸ™ˆ the manpage literally didn't say, so i'm not gonna invent lore, iykyk.
  • NFTA_CHAIN_TABLE β€” the name of the table that contains the chain (NLA_STRING). like, where your chain lives.
  • NFTA_CHAIN_HANDLE β€” the numeric handle of the chain (NLA_U64).
  • NFTA_CHAIN_NAME β€” the name of the chain (NLA_STRING).
  • NFTA_CHAIN_HOOK β€” the hook specification, for basechains (NLA_NESTED: nft_hook_attributes). basechain girlies, this one's for you.
  • NFTA_CHAIN_POLICY β€” the numeric policy of the chain (NLA_U32).
  • NFTA_CHAIN_USE β€” how many references point at this chain (NLA_U32). it's giving popularity metrics fr fr.
  • NFTA_CHAIN_TYPE β€” the type name of the string (NLA_NUL_STRING).
  • NFTA_CHAIN_COUNTERS β€” the counter specification of the chain (NLA_NESTED: nft_counter_attributes).
  • NFTA_CHAIN_PAD β€” <italic>-- undescribed --</italic> 🫢 mystery icon, we respect her privacy.
  • NFTA_CHAIN_FLAGS β€” chain flags. that's it, that's the description, slay.
  • NFTA_CHAIN_ID β€” uniquely identifies a chain in a transaction (NLA_U32). one of a kind ✨
  • NFTA_CHAIN_USERDATA β€” user data (NLA_BINARY). your data, your rules, your vibe.
  • __NFTA_CHAIN_MAX β€” <italic>-- undescribed --</italic> πŸ’€ the sentinel that keeps the count, but the manpage left her undescribed too.

πŸ‘€ SEE ALSO

the kernel file is ./include/uapi/linux/netfilter/nf_tables.h enum β€” go read the source, it ate. then there's a whole friend group of enums waiting for you, and honestly the way that this list goes on… iconic. πŸ’–

  • enum nft_registers(9)
  • enum nft_verdicts(9)
  • enum nf_tables_msg_types(9)
  • enum nft_list_attributes(9)
  • enum nft_hook_attributes(9)
  • enum nft_table_flags(9)
  • enum nft_table_attributes(9)
  • enum nft_rule_attributes(9)
  • enum nft_rule_compat_flags(9)
  • enum nft_rule_compat_attributes(9)
  • enum nft_set_flags(9)
  • enum nft_set_policies(9)
  • enum nft_set_desc_attributes(9)
  • enum nft_set_field_attributes(9)
  • enum nft_set_attributes(9)
  • enum nft_set_elem_flags(9)
  • enum nft_set_elem_attributes(9)
  • enum nft_set_elem_list_attributes(9)
  • enum nft_data_types(9)
  • enum nft_data_attributes(9)
  • enum nft_verdict_attributes(9)
  • enum nft_expr_attributes(9)
  • enum nft_immediate_attributes(9)
  • enum nft_bitwise_ops(9)
  • enum nft_bitwise_attributes(9)
  • enum nft_byteorder_ops(9)
  • enum nft_byteorder_attributes(9)
  • enum nft_cmp_ops(9)
  • enum nft_cmp_attributes(9)
  • enum nft_range_ops(9)
  • enum nft_range_attributes(9)
  • enum nft_lookup_attributes(9)
  • enum nft_dynset_attributes(9)
  • enum nft_payload_bases(9)
  • enum nft_payload_csum_types(9)
  • enum nft_payload_attributes(9)
  • enum nft_exthdr_op(9)
  • enum nft_exthdr_attributes(9)
  • enum nft_meta_keys(9)
  • enum nft_rt_keys(9)
  • enum nft_hash_types(9)
  • enum nft_hash_attributes(9)
  • enum nft_meta_attributes(9)
  • enum nft_rt_attributes(9)
  • enum nft_socket_attributes(9)
  • enum nft_ct_keys(9)
  • enum nft_ct_attributes(9)
  • enum nft_offload_attributes(9)
  • enum nft_limit_attributes(9)
  • enum nft_connlimit_attributes(9)
  • enum nft_counter_attributes(9)
  • enum nft_last_attributes(9)
  • enum nft_log_attributes(9)
  • enum nft_log_level(9)
  • enum nft_queue_attributes(9)
  • enum nft_quota_attributes(9)
  • enum nft_secmark_attributes(9)
  • enum nft_reject_types(9)
  • enum nft_reject_inet_code(9)
  • enum nft_reject_attributes(9)
  • enum nft_nat_types(9)
  • enum nft_nat_attributes(9)
  • enum nft_tproxy_attributes(9)
  • enum nft_masq_attributes(9)
  • enum nft_redir_attributes(9)
  • enum nft_dup_attributes(9)
  • enum nft_fwd_attributes(9)
  • enum nft_objref_attributes(9)
  • enum nft_gen_attributes(9)
  • enum nft_object_attributes(9)
  • enum nft_flowtable_flags(9)
  • enum nft_flowtable_attributes(9)
  • enum nft_flowtable_hook_attributes(9)
  • enum nft_osf_attributes(9)
  • enum nft_synproxy_attributes(9)
  • enum nft_devices_attributes(9)
  • enum nft_trace_attributes(9)
  • enum nft_ng_attributes(9)

quick reminder bestie: a bunch of these entries literally say <italic>-- undescribed --</italic>. that's not me being lazy, that's the page. don't go making up behaviour for NFTA_CHAIN_UNSPEC, NFTA_CHAIN_PAD or __NFTA_CHAIN_MAX β€” we don't guess, we cite. 🫢

and that's the whole page, no crumbs left. source file: ./include/uapi/linux/netfilter, dated October 2026 β€” mwah, ty for reading, ily, go write some netlink code πŸ’œπŸ§šβ€β™€οΈπŸ”₯

πŸ“¦ where this page comes from