ENUM NF_TABLES_MSG_TYPES(9)
π enum nf_tables_msg_types(9) β the Kernel API Manual, bestie edition
okay so picture this: you're deep in the kernel API manual (that's the manual name, iykyk) and you hit this page. It's enum nf_tables_msg_types, and it's literally the guest list for every netlink message type nf_tables can send. Every create, every get, every delete, every destroy β all of them are here. Slay.
β¨ NAME β¨
enum nf_tables_msg_types β the nf_tables netlink message types, like, all of them π
π¦ SYNOPSIS π¦
enum nf_tables_msg_types {
NFT_MSG_NEWTABLE ,
NFT_MSG_GETTABLE ,
NFT_MSG_DELTABLE ,
NFT_MSG_NEWCHAIN ,
NFT_MSG_GETCHAIN ,
NFT_MSG_DELCHAIN ,
NFT_MSG_NEWRULE ,
NFT_MSG_GETRULE ,
NFT_MSG_DELRULE ,
NFT_MSG_NEWSET ,
NFT_MSG_GETSET ,
NFT_MSG_DELSET ,
NFT_MSG_NEWSETELEM ,
NFT_MSG_GETSETELEM ,
NFT_MSG_DELSETELEM ,
NFT_MSG_NEWGEN ,
NFT_MSG_GETGEN ,
NFT_MSG_TRACE ,
NFT_MSG_NEWOBJ ,
NFT_MSG_GETOBJ ,
NFT_MSG_DELOBJ ,
NFT_MSG_GETOBJ_RESET ,
NFT_MSG_NEWFLOWTABLE ,
NFT_MSG_GETFLOWTABLE ,
NFT_MSG_DELFLOWTABLE ,
NFT_MSG_GETRULE_RESET ,
NFT_MSG_DESTROYTABLE ,
NFT_MSG_DESTROYCHAIN ,
NFT_MSG_DESTROYRULE ,
NFT_MSG_DESTROYSET ,
NFT_MSG_DESTROYSETELEM ,
NFT_MSG_DESTROYOBJ ,
NFT_MSG_DESTROYFLOWTABLE ,
NFT_MSG_GETSETELEM_RESET ,
NFT_MSG_MAX
};
π Constants π
okay, here's the roll call β one bullet per constant, no skipping, that's the rule π
NFT_MSG_NEWTABLEβ create a new table (enumnft_table_attributes)NFT_MSG_GETTABLEβ get a table (enumnft_table_attributes)NFT_MSG_DELTABLEβ delete a table (enumnft_table_attributes)NFT_MSG_NEWCHAINβ create a new chain (enumnft_chain_attributes)NFT_MSG_GETCHAINβ get a chain (enumnft_chain_attributes)NFT_MSG_DELCHAINβ delete a chain (enumnft_chain_attributes)NFT_MSG_NEWRULEβ create a new rule (enumnft_rule_attributes)NFT_MSG_GETRULEβ get a rule (enumnft_rule_attributes)NFT_MSG_DELRULEβ delete a rule (enumnft_rule_attributes)NFT_MSG_NEWSETβ create a new set (enumnft_set_attributes)NFT_MSG_GETSETβ get a set (enumnft_set_attributes)NFT_MSG_DELSETβ delete a set (enumnft_set_attributes)NFT_MSG_NEWSETELEMβ create a new set element (enumnft_set_elem_attributes)NFT_MSG_GETSETELEMβ get a set element (enumnft_set_elem_attributes)NFT_MSG_DELSETELEMβ delete a set element (enumnft_set_elem_attributes)NFT_MSG_NEWGENβ announce a new generation, only for events (enumnft_gen_attributes)NFT_MSG_GETGENβ get the rule-set generation (enumnft_gen_attributes)NFT_MSG_TRACEβ trace event (enumnft_trace_attributes)NFT_MSG_NEWOBJβ create a stateful object (enumnft_obj_attributes)NFT_MSG_GETOBJβ get a stateful object (enumnft_obj_attributes)NFT_MSG_DELOBJβ delete a stateful object (enumnft_obj_attributes)NFT_MSG_GETOBJ_RESETβ get and reset a stateful object (enumnft_obj_attributes)NFT_MSG_NEWFLOWTABLEβ add new flow table (enumnft_flowtable_attributes)NFT_MSG_GETFLOWTABLEβ get flow table (enumnft_flowtable_attributes)NFT_MSG_DELFLOWTABLEβ delete flow table (enumnft_flowtable_attributes)NFT_MSG_GETRULE_RESETβ get rules and reset stateful expressions (enumnft_obj_attributes)NFT_MSG_DESTROYTABLEβ destroy a table (enumnft_table_attributes)NFT_MSG_DESTROYCHAINβ destroy a chain (enumnft_chain_attributes)NFT_MSG_DESTROYRULEβ destroy a rule (enumnft_rule_attributes)NFT_MSG_DESTROYSETβ destroy a set (enumnft_set_attributes)NFT_MSG_DESTROYSETELEMβ destroy a set element (enumnft_set_elem_attributes)NFT_MSG_DESTROYOBJβ destroy a stateful object (enumnft_object_attributes)NFT_MSG_DESTROYFLOWTABLEβ destroy flow table (enumnft_flowtable_attributes)NFT_MSG_GETSETELEM_RESETβ get set elements and reset attached stateful expressions (enumnft_set_elem_attributes)NFT_MSG_MAXβ-- undescribed --(yeah, the source literally says that, no cap π)
ngl the GET*_RESET ones are doing the most β get and reset in one message? main character energy fr fr.
π SEE ALSO π
Kernel file ./include/uapi/linux/netfilter/nf_tables.h, plus this absolute wall of enum friends β every single one, in order, because I would never do you dirty like that π«Ά:
enum nft_registers(9), enum nft_verdicts(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_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)
and that's the whole page, bestie β you ate that π β¨
so yeah, this lil cutie lives at ./include/uapi/linux/netfilter and the version/date stamp on it is October 2026. go forth and packet-filter, ily ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms