|
@@ -418,8 +418,7 @@ struct nft_set {
|
|
|
unsigned char *udata;
|
|
unsigned char *udata;
|
|
|
/* runtime data below here */
|
|
/* runtime data below here */
|
|
|
const struct nft_set_ops *ops ____cacheline_aligned;
|
|
const struct nft_set_ops *ops ____cacheline_aligned;
|
|
|
- u16 flags:13,
|
|
|
|
|
- bound:1,
|
|
|
|
|
|
|
+ u16 flags:14,
|
|
|
genmask:2;
|
|
genmask:2;
|
|
|
u8 klen;
|
|
u8 klen;
|
|
|
u8 dlen;
|
|
u8 dlen;
|
|
@@ -1337,12 +1336,15 @@ struct nft_trans_rule {
|
|
|
struct nft_trans_set {
|
|
struct nft_trans_set {
|
|
|
struct nft_set *set;
|
|
struct nft_set *set;
|
|
|
u32 set_id;
|
|
u32 set_id;
|
|
|
|
|
+ bool bound;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
#define nft_trans_set(trans) \
|
|
#define nft_trans_set(trans) \
|
|
|
(((struct nft_trans_set *)trans->data)->set)
|
|
(((struct nft_trans_set *)trans->data)->set)
|
|
|
#define nft_trans_set_id(trans) \
|
|
#define nft_trans_set_id(trans) \
|
|
|
(((struct nft_trans_set *)trans->data)->set_id)
|
|
(((struct nft_trans_set *)trans->data)->set_id)
|
|
|
|
|
+#define nft_trans_set_bound(trans) \
|
|
|
|
|
+ (((struct nft_trans_set *)trans->data)->bound)
|
|
|
|
|
|
|
|
struct nft_trans_chain {
|
|
struct nft_trans_chain {
|
|
|
bool update;
|
|
bool update;
|
|
@@ -1373,12 +1375,15 @@ struct nft_trans_table {
|
|
|
struct nft_trans_elem {
|
|
struct nft_trans_elem {
|
|
|
struct nft_set *set;
|
|
struct nft_set *set;
|
|
|
struct nft_set_elem elem;
|
|
struct nft_set_elem elem;
|
|
|
|
|
+ bool bound;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
#define nft_trans_elem_set(trans) \
|
|
#define nft_trans_elem_set(trans) \
|
|
|
(((struct nft_trans_elem *)trans->data)->set)
|
|
(((struct nft_trans_elem *)trans->data)->set)
|
|
|
#define nft_trans_elem(trans) \
|
|
#define nft_trans_elem(trans) \
|
|
|
(((struct nft_trans_elem *)trans->data)->elem)
|
|
(((struct nft_trans_elem *)trans->data)->elem)
|
|
|
|
|
+#define nft_trans_elem_set_bound(trans) \
|
|
|
|
|
+ (((struct nft_trans_elem *)trans->data)->bound)
|
|
|
|
|
|
|
|
struct nft_trans_obj {
|
|
struct nft_trans_obj {
|
|
|
struct nft_object *obj;
|
|
struct nft_object *obj;
|