ENUM NFT_SET_ELEM_ATTRIBUTES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

enum nft_set_elem_attributes β€” okay so this is the nf_tables set element netlink attributes enum, bestie. The one that tells you which attribute slots a single set element can carry in netlink messages πŸŽ€


🌸 SYNOPSIS 🌸

enum nft_set_elem_attributes {
    NFTA_SET_ELEM_UNSPEC ,
    NFTA_SET_ELEM_KEY ,
    NFTA_SET_ELEM_DATA ,
    NFTA_SET_ELEM_FLAGS ,
    NFTA_SET_ELEM_TIMEOUT ,
    NFTA_SET_ELEM_EXPIRATION ,
    NFTA_SET_ELEM_USERDATA ,
    NFTA_SET_ELEM_EXPR ,
    NFTA_SET_ELEM_PAD ,
    NFTA_SET_ELEM_OBJREF ,
    NFTA_SET_ELEM_KEY_END ,
    NFTA_SET_ELEM_EXPRESSIONS ,
    __NFTA_SET_ELEM_MAX

};

🧚 CONSTANTS 🧚

Like, here's the whole cast, no skips πŸ’–

  • NFTA_SET_ELEM_UNSPEC β€” -- undescribed -- πŸ’€ yeah the docs literally say that, she's a mystery, respect it.
  • NFTA_SET_ELEM_KEY β€” the key value (NLA_NESTED: nft_data). Lowkey the main character of the whole element ✨
  • NFTA_SET_ELEM_DATA β€” the data value of the mapping (NLA_NESTED: nft_data_attributes). This is the "and here's what it maps to" part πŸ¦‹
  • NFTA_SET_ELEM_FLAGS β€” a bitmask of nft_set_elem_flags (NLA_U32). Little switchboard of vibes πŸŽ€
  • NFTA_SET_ELEM_TIMEOUT β€” the timeout value, and zero means it never times out (NLA_U64). Zero = immortal, periodt ⭐
  • NFTA_SET_ELEM_EXPIRATION β€” the expiration time (NLA_U64) πŸ™ˆ
  • NFTA_SET_ELEM_USERDATA β€” user data (NLA_BINARY). Your own lil payload, no questions asked πŸ’…
  • NFTA_SET_ELEM_EXPR β€” an expression (NLA_NESTED: nft_expr_attributes) 🌸
  • NFTA_SET_ELEM_PAD β€” -- undescribed -- 😭 also a mystery, we stan an enigma.
  • NFTA_SET_ELEM_OBJREF β€” a stateful object reference (NLA_STRING) πŸ‘‘
  • NFTA_SET_ELEM_KEY_END β€” the closing key value (NLA_NESTED: nft_data). Yes bestie, ranges have two ends 🫢
  • NFTA_SET_ELEM_EXPRESSIONS β€” a list of expressions (NLA_NESTED: nft_list_attributes) πŸ”₯
  • __NFTA_SET_ELEM_MAX β€” -- undescribed -- πŸ¦‹ she's the internal boundary marker at the end of the enum, that's just how it is.
Heads up fr fr: NFTA_SET_ELEM_UNSPEC, NFTA_SET_ELEM_PAD and __NFTA_SET_ELEM_MAX come with literally zero description in the source. Not me hiding lore β€” that's genuinely all there is πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/uapi/linux/netfilter/nf_tables.h enum β€” and like, the entire extended universe of siblings, okay, here we go, don't scroll too fast πŸ’œ

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

That's the whole thing, no cap. Go forth and nest your netlink attributes correctly πŸ’–

Mwah πŸ’‹ this page came from ./include/uapi/linux/netfilter and is dated October 2026, and the man page source signature is enum nft_set...m_attributes(9) in case you need to cite her. Byeee πŸ¦‹βœ¨

πŸ“¦ where this page comes from