diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/netfilter/nf_tables.h | 7 | ||||
| -rw-r--r-- | include/uapi/linux/netfilter/nf_tables.h | 2 |
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 | */ |
| 355 | enum nft_set_extensions { | 356 | enum 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 | ||
| 469 | static 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 | |||
| 467 | static inline bool nft_set_elem_expired(const struct nft_set_ext *ext) | 474 | static 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 | */ |
| 296 | enum nft_set_elem_attributes { | 297 | enum 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) |
