netfilter: nf_tables: atomic dump and reset for stateful objects
This patch adds a new NFT_MSG_GETOBJ_RESET command perform an atomic dump-and-reset of the stateful object. This also comes with add support for atomic dump and reset for counter and quota objects. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
@@ -997,7 +997,8 @@ struct nft_object_type {
|
||||
struct nft_object *obj);
|
||||
void (*destroy)(struct nft_object *obj);
|
||||
int (*dump)(struct sk_buff *skb,
|
||||
const struct nft_object *obj);
|
||||
struct nft_object *obj,
|
||||
bool reset);
|
||||
};
|
||||
|
||||
int nft_register_obj(struct nft_object_type *obj_type);
|
||||
|
@@ -89,6 +89,7 @@ enum nft_verdicts {
|
||||
* @NFT_MSG_NEWOBJ: create a stateful object (enum nft_obj_attributes)
|
||||
* @NFT_MSG_GETOBJ: get a stateful object (enum nft_obj_attributes)
|
||||
* @NFT_MSG_DELOBJ: delete a stateful object (enum nft_obj_attributes)
|
||||
* @NFT_MSG_GETOBJ_RESET: get and reset a stateful object (enum nft_obj_attributes)
|
||||
*/
|
||||
enum nf_tables_msg_types {
|
||||
NFT_MSG_NEWTABLE,
|
||||
@@ -112,6 +113,7 @@ enum nf_tables_msg_types {
|
||||
NFT_MSG_NEWOBJ,
|
||||
NFT_MSG_GETOBJ,
|
||||
NFT_MSG_DELOBJ,
|
||||
NFT_MSG_GETOBJ_RESET,
|
||||
NFT_MSG_MAX,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user