summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/buffer.h3
-rw-r--r--include/libnftnl/expr.h9
-rw-r--r--include/linux/netfilter/nf_tables.h27
3 files changed, 39 insertions, 0 deletions
diff --git a/include/buffer.h b/include/buffer.h
index 9d1cb8b..52942ed 100644
--- a/include/buffer.h
+++ b/include/buffer.h
@@ -66,12 +66,15 @@ int nft_buf_reg(struct nft_buf *b, int type, union nft_data_reg *reg,
#define QTHRESH "qthreshold"
#define RATE "rate"
#define SET "set"
+#define SET_NAME "set_name"
#define SIZE "size"
#define SNAPLEN "snaplen"
#define SREG_ADDR_MAX "sreg_addr_max"
#define SREG_ADDR_MIN "sreg_addr_min"
#define SREG_PROTO_MAX "sreg_proto_max"
#define SREG_PROTO_MIN "sreg_proto_min"
+#define SREG_KEY "sreg_key"
+#define SREG_DATA "sreg_data"
#define SREG "sreg"
#define TABLE "table"
#define TOTAL "total"
diff --git a/include/libnftnl/expr.h b/include/libnftnl/expr.h
index 9f25993..7bc0273 100644
--- a/include/libnftnl/expr.h
+++ b/include/libnftnl/expr.h
@@ -111,6 +111,15 @@ enum {
};
enum {
+ NFT_EXPR_DYNSET_SREG_KEY = NFT_RULE_EXPR_ATTR_BASE,
+ NFT_EXPR_DYNSET_SREG_DATA,
+ NFT_EXPR_DYNSET_OP,
+ NFT_EXPR_DYNSET_TIMEOUT,
+ NFT_EXPR_DYNSET_SET_NAME,
+ NFT_EXPR_DYNSET_SET_ID,
+};
+
+enum {
NFT_EXPR_LOG_PREFIX = NFT_RULE_EXPR_ATTR_BASE,
NFT_EXPR_LOG_GROUP,
NFT_EXPR_LOG_SNAPLEN,
diff --git a/include/linux/netfilter/nf_tables.h b/include/linux/netfilter/nf_tables.h
index 334b389..0e96443 100644
--- a/include/linux/netfilter/nf_tables.h
+++ b/include/linux/netfilter/nf_tables.h
@@ -516,6 +516,33 @@ enum nft_lookup_attributes {
};
#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
+enum nft_dynset_ops {
+ NFT_DYNSET_OP_ADD,
+ NFT_DYNSET_OP_UPDATE,
+};
+
+/**
+ * enum nft_dynset_attributes - dynset expression attributes
+ *
+ * @NFTA_DYNSET_SET_NAME: name of set the to add data to (NLA_STRING)
+ * @NFTA_DYNSET_SET_ID: uniquely identifier of the set in the transaction (NLA_U32)
+ * @NFTA_DYNSET_OP: operation (NLA_U32)
+ * @NFTA_DYNSET_SREG_KEY: source register of the key (NLA_U32)
+ * @NFTA_DYNSET_SREG_DATA: source register of the data (NLA_U32)
+ * @NFTA_DYNSET_TIMEOUT: timeout value for the new element (NLA_U64)
+ */
+enum nft_dynset_attributes {
+ NFTA_DYNSET_UNSPEC,
+ NFTA_DYNSET_SET_NAME,
+ NFTA_DYNSET_SET_ID,
+ NFTA_DYNSET_OP,
+ NFTA_DYNSET_SREG_KEY,
+ NFTA_DYNSET_SREG_DATA,
+ NFTA_DYNSET_TIMEOUT,
+ __NFTA_DYNSET_MAX,
+};
+#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1)
+
/**
* enum nft_payload_bases - nf_tables payload expression offset bases
*