netfilter: nf_tables: Introduce stateful object update operation
This patch adds the infrastructure needed for the stateful object update support. Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
44b63b0a71
commit
d62d0ba97b
@@ -1127,6 +1127,7 @@ struct nft_object_type {
|
||||
* @init: initialize object from netlink attributes
|
||||
* @destroy: release existing stateful object
|
||||
* @dump: netlink dump stateful object
|
||||
* @update: update stateful object
|
||||
*/
|
||||
struct nft_object_ops {
|
||||
void (*eval)(struct nft_object *obj,
|
||||
@@ -1141,6 +1142,8 @@ struct nft_object_ops {
|
||||
int (*dump)(struct sk_buff *skb,
|
||||
struct nft_object *obj,
|
||||
bool reset);
|
||||
void (*update)(struct nft_object *obj,
|
||||
struct nft_object *newobj);
|
||||
const struct nft_object_type *type;
|
||||
};
|
||||
|
||||
@@ -1429,10 +1432,16 @@ struct nft_trans_elem {
|
||||
|
||||
struct nft_trans_obj {
|
||||
struct nft_object *obj;
|
||||
struct nft_object *newobj;
|
||||
bool update;
|
||||
};
|
||||
|
||||
#define nft_trans_obj(trans) \
|
||||
(((struct nft_trans_obj *)trans->data)->obj)
|
||||
#define nft_trans_obj_newobj(trans) \
|
||||
(((struct nft_trans_obj *)trans->data)->newobj)
|
||||
#define nft_trans_obj_update(trans) \
|
||||
(((struct nft_trans_obj *)trans->data)->update)
|
||||
|
||||
struct nft_trans_flowtable {
|
||||
struct nft_flowtable *flowtable;
|
||||
|
Reference in New Issue
Block a user