ENUM NFT_DATA_TYPES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

enum nft_data_types(9) β€” nf_tables data types, straight from the Kernel API Manual, bestie ✨

✨ SYNOPSIS ✨

enum nft_data_types {
           NFT_DATA_VALUE ,
           NFT_DATA_VERDICT

       };

πŸŽ€ Constants πŸŽ€

  • NFT_DATA_VALUE β€” generic data, the everyday vibe πŸ’…
  • NFT_DATA_VERDICT β€” netfilter verdict, the judgment-call vibe πŸ‘‘

🌸 Description 🌸

Okay so the type of data is usually determined by the kernel directly, and userspace does not explicitly specify it. The one exception is sets β€” that's where userspace specifies the key and mapping data types. Sets are literally the only difference here, no cap.

The values 0xffffff00-0xffffffff are reserved for internally used types πŸ”’. The remaining range can be freely used by userspace to encode types, and all those values are equivalent to NFT_DATA_VALUE. So yeah, that whole leftover range is yours to play with, as long as you remember it's giving NFT_DATA_VALUE energy πŸ’«.

πŸ¦‹ SEE ALSO πŸ¦‹

The kernel file is ./include/uapi/linux/netfilter/nf_tables.h β€” the enum lives right there, iykyk. Here's the whole nf_tables enum friend group, go click through:

  • 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_chain_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_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)

Source/version + date sign-off, because we're cute and precise: ./include/uapi/linux/netfilter · October 2026 · enum nft_data_types(9) 🫢✨

πŸ“¦ where this page comes from