ENUM NFT_MASQ_ATTRIBUTES(9)
π enum nft_masq_attributes β nf_tables masquerade expression attributes β¨
Okay bestie, welcome to the enum nft_masq_attributes(9) page from the Kernel API Manual, section 9. This is the littlest enum and it's literally the whole vibe of the masquerade expression in nf_tables β the thing that decides which attributes you can hand it. It's giving backstage-pass energy. π
β¨ SYNOPSIS β¨
enum nft_masq_attributes {
NFTA_MASQ_UNSPEC ,
NFTA_MASQ_FLAGS ,
NFTA_MASQ_REG_PROTO_MIN ,
NFTA_MASQ_REG_PROTO_MAX ,
__NFTA_MASQ_MAX
};
Look at her. Four real constants and two little sentinels holding the door. Iconic. π
πΈ Constants πΈ
NFTA_MASQ_UNSPECβ the original manpage just says-- undescribed --, and honestly? Same. It's the "no thoughts, head empty" entry. No description given, no cap. πNFTA_MASQ_FLAGSβ NAT flags, and the manpage is very clear that you go look atNF_NAT_RANGE_*inlinux/netfilter/nf_nat.hfor what they all mean. Type is(NLA_U32). Slay, go read the header. π₯NFTA_MASQ_REG_PROTO_MINβ source register of proto range start, type(NLA_U32: nft_registers). So like, the beginning of your proto range, register-flavoured. π«ΆNFTA_MASQ_REG_PROTO_MAXβ source register of proto range end, type(NLA_U32: nft_registers). And that's the end of the proto range, matching bestie up there. The way they're a matched setβ¦ obsessed. π__NFTA_MASQ_MAXβ again,-- undescribed --in the source page. It's the internal boundary marker, living its mysterious main character life. π
π¦ SEE ALSO π¦
The kernel file this lives in is ./include/uapi/linux/netfilter/nf_tables.h β specifically the enum in there, iykyk. And then, bestie, there is a whole friend group. Every single one of these is invited to the group chat:
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_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_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).
That's the whole roster, fr fr. No skips, no cuts. π
Heads up bestie: a good chunk of the descriptions in the source page are literally just-- undescribed --, so if you wanted more lore onNFTA_MASQ_UNSPECor__NFTA_MASQ_MAX, the manpage does not have it and I'm not about to make it up. We respect the source in this house. π§
And that's the whole page! π Documented from ./include/uapi/linux/netfilter, in the Kernel API Manual, dated October 2026. Go forth and masquerade responsibly, bestie β mwah! π
ππ¦
π¦ 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