aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/netfilter/nf_tables.h7
-rw-r--r--include/uapi/linux/netfilter/nf_tables.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index 38c3496f7bf2..63c44bdfdd3b 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -350,6 +350,7 @@ void nf_tables_unbind_set(const struct nft_ctx *ctx, struct nft_set *set,
350 * @NFT_SET_EXT_FLAGS: element flags 350 * @NFT_SET_EXT_FLAGS: element flags
351 * @NFT_SET_EXT_TIMEOUT: element timeout 351 * @NFT_SET_EXT_TIMEOUT: element timeout
352 * @NFT_SET_EXT_EXPIRATION: element expiration time 352 * @NFT_SET_EXT_EXPIRATION: element expiration time
353 * @NFT_SET_EXT_USERDATA: user data associated with the element
353 * @NFT_SET_EXT_NUM: number of extension types 354 * @NFT_SET_EXT_NUM: number of extension types
354 */ 355 */
355enum nft_set_extensions { 356enum nft_set_extensions {
@@ -358,6 +359,7 @@ enum nft_set_extensions {
358 NFT_SET_EXT_FLAGS, 359 NFT_SET_EXT_FLAGS,
359 NFT_SET_EXT_TIMEOUT, 360 NFT_SET_EXT_TIMEOUT,
360 NFT_SET_EXT_EXPIRATION, 361 NFT_SET_EXT_EXPIRATION,
362 NFT_SET_EXT_USERDATA,
361 NFT_SET_EXT_NUM 363 NFT_SET_EXT_NUM
362}; 364};
363 365
@@ -464,6 +466,11 @@ static inline unsigned long *nft_set_ext_expiration(const struct nft_set_ext *ex
464 return nft_set_ext(ext, NFT_SET_EXT_EXPIRATION); 466 return nft_set_ext(ext, NFT_SET_EXT_EXPIRATION);
465} 467}
466 468
469static inline struct nft_userdata *nft_set_ext_userdata(const struct nft_set_ext *ext)
470{
471 return nft_set_ext(ext, NFT_SET_EXT_USERDATA);
472}
473
467static inline bool nft_set_elem_expired(const struct nft_set_ext *ext) 474static inline bool nft_set_elem_expired(const struct nft_set_ext *ext)
468{ 475{
469 return nft_set_ext_exists(ext, NFT_SET_EXT_EXPIRATION) && 476 return nft_set_ext_exists(ext, NFT_SET_EXT_EXPIRATION) &&
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h
index 0b87b2f67fe3..05ee1e0804a3 100644
--- a/include/uapi/linux/netfilter/nf_tables.h
+++ b/include/uapi/linux/netfilter/nf_tables.h
@@ -292,6 +292,7 @@ enum nft_set_elem_flags {
292 * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32) 292 * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32)
293 * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64) 293 * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64)
294 * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64) 294 * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64)
295 * @NFTA_SET_ELEM_USERDATA: user data (NLA_BINARY)
295 */ 296 */
296enum nft_set_elem_attributes { 297enum nft_set_elem_attributes {
297 NFTA_SET_ELEM_UNSPEC, 298 NFTA_SET_ELEM_UNSPEC,
@@ -300,6 +301,7 @@ enum nft_set_elem_attributes {
300 NFTA_SET_ELEM_FLAGS, 301 NFTA_SET_ELEM_FLAGS,
301 NFTA_SET_ELEM_TIMEOUT, 302 NFTA_SET_ELEM_TIMEOUT,
302 NFTA_SET_ELEM_EXPIRATION, 303 NFTA_SET_ELEM_EXPIRATION,
304 NFTA_SET_ELEM_USERDATA,
303 __NFTA_SET_ELEM_MAX 305 __NFTA_SET_ELEM_MAX
304}; 306};
305#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1) 307#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1)