ENUM NFT_META_KEYS(9)
Bestie, this is enum nft_meta_keys(9) from the Kernel API Manual β the nf_tables meta expression keys enum. Weβre about to go through every single key together, and yes, every detail is staying. No skips, no cap. π
πΈ NAME πΈ
enum nft_meta_keys β nf_tables meta expression keys. Thatβs the whole name, and itβs giving βkernel enum but make it iconic.β β¨
β¨ SYNOPSIS β¨
Okay so the enum literally looks like this, and weβre keeping it character-for-character:
enum nft_meta_keys {
NFT_META_LEN ,
NFT_META_PROTOCOL ,
NFT_META_PRIORITY ,
NFT_META_MARK ,
NFT_META_IIF ,
NFT_META_OIF ,
NFT_META_IIFNAME ,
NFT_META_OIFNAME ,
NFT_META_IFTYPE ,
NFT_META_OIFTYPE ,
NFT_META_SKUID ,
NFT_META_SKGID ,
NFT_META_NFTRACE ,
NFT_META_RTCLASSID ,
NFT_META_SECMARK ,
NFT_META_NFPROTO ,
NFT_META_L4PROTO ,
NFT_META_BRI_IIFNAME ,
NFT_META_BRI_OIFNAME ,
NFT_META_PKTTYPE ,
NFT_META_CPU ,
NFT_META_IIFGROUP ,
NFT_META_OIFGROUP ,
NFT_META_CGROUP ,
NFT_META_PRANDOM ,
NFT_META_SECPATH ,
NFT_META_IIFKIND ,
NFT_META_OIFKIND ,
NFT_META_BRI_IIFPVID ,
NFT_META_BRI_IIFVPROTO ,
NFT_META_TIME_NS ,
NFT_META_TIME_DAY ,
NFT_META_TIME_HOUR ,
NFT_META_SDIF ,
NFT_META_SDIFNAME ,
NFT_META_BRI_BROUTE ,
__NFT_META_IIFTYPE ,
NFT_META_BRI_IIFHWADDR
};
π Constants π
Hereβs the full roster, one by one. Every key, every parenthetical, every βthis oneβs invalid in OUTPUTβ heads-up β all present and accounted for. π«Ά
NFT_META_LENβ packet length, akaskb->len, the lil size check. πNFT_META_PROTOCOLβ packet ethertype protocol, straight fromskb->protocol; heads-up bestie, this oneβs invalid inOUTPUT. πNFT_META_PRIORITYβ packet priority (skb->priority), the VIP pass. β¨NFT_META_MARKβ packet mark (skb->mark), the classic lil tag. πNFT_META_IIFβ packet input interface index (dev->ifindex), where it came in. π¦NFT_META_OIFβ packet output interface index (dev->ifindex), where itβs headed. πΈNFT_META_IIFNAMEβ packet input interface name (dev->name), like a liβl name tag. πNFT_META_OIFNAMEβ packet output interface name (dev->name), same vibe, output side. π«ΆNFT_META_IFTYPEβ-- undescribed --, and thatβs literally all the source gives us. π«NFT_META_OIFTYPEβ packet output interface type (dev->type), the output interfaceβs whole genre. πNFT_META_SKUIDβ originating socket UID (fsuid), the socketβs user ID moment. π₯NFT_META_SKGIDβ originating socket GID (fsgid), the socketβs group ID moment. πNFT_META_NFTRACEβ packet nftrace bit, the trace-y lil flag. πNFT_META_RTCLASSIDβ realm value of packet's route (skb->dst->tclassid), route realm realness. βNFT_META_SECMARKβ packet secmark (skb->secmark), the security mark. πNFT_META_NFPROTOβ netfilter protocol, no extra lore needed. πNFT_META_L4PROTOβ layer 4 protocol number, the L4 number itself. πNFT_META_BRI_IIFNAMEβ packet input bridge interface name. π§NFT_META_BRI_OIFNAMEβ packet output bridge interface name. πNFT_META_PKTTYPEβ packet type (skb->pkt_type), with special handling for loopback. πNFT_META_CPUβ cpu id throughsmp_processor_id, the CPUβs whole identity. πNFT_META_IIFGROUPβ packet input interface group. πNFT_META_OIFGROUPβ packet output interface group. β¨NFT_META_CGROUPβ socket control group (skb->sk->sk_classid), cgroup coded. π¦NFT_META_PRANDOMβ a 32bit pseudo-random number, chaotic lil icon. πΈNFT_META_SECPATHβ boolean,secpath_exists (!!skb->sp), yes thatβs the whole note. π«ΆNFT_META_IIFKINDβ packet input interface kind name (dev->rtnl_link_ops->kind). πNFT_META_OIFKINDβ packet output interface kind name (dev->rtnl_link_ops->kind). πNFT_META_BRI_IIFPVIDβ packet input bridge port pvid. π₯NFT_META_BRI_IIFVPROTOβ packet input bridge vlan proto. πNFT_META_TIME_NSβ time since epoch (in nanoseconds). πNFT_META_TIME_DAYβ day of week (from0 = Sundayto6 = Saturday). βNFT_META_TIME_HOURβ hour of day (in seconds). πNFT_META_SDIFβ slave device interface index. πNFT_META_SDIFNAMEβ slave device interface name. πNFT_META_BRI_BROUTEβ packetbr_netfilter_broutebit. π§__NFT_META_IIFTYPEβ-- undescribed --, again the source leaves it blank. πNFT_META_BRI_IIFHWADDRβ packet input bridge interface ethernet address. π
π SEE ALSO π
The kernel file to peek at is ./include/uapi/linux/netfilter/nf_tables.h enum. Then the whole bestie backlog of related enum pages:
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_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)
Okay bestie, thatβs the whole page. Cute footer sign-off: source/version is ./include/uapi/linux/netfilter, date is October 2026, and the title is enum nft_meta_keys(9). You understood the assignment, periodt. π
π
π¦ 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