summaryrefslogtreecommitdiffstats
path: root/kernel/include/linux/netfilter/ipset
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@netfilter.org>2020-02-22 13:01:35 +0100
committerJozsef Kadlecsik <kadlec@netfilter.org>2020-02-22 13:01:35 +0100
commitaca0b06d8cc61d7df1cc356632ba6e3e65a1e112 (patch)
tree622d8ff203bdd7df9d6b3da5ce3499d77f6222ba /kernel/include/linux/netfilter/ipset
parentd31400351015aa8d90a52b2c2cc58618ea11ca20 (diff)
parenta2a846e09ab67202b11a4795de93130c85f51756 (diff)
Merge branch 'region_lock'
Diffstat (limited to 'kernel/include/linux/netfilter/ipset')
-rw-r--r--kernel/include/linux/netfilter/ipset/ip_set.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/include/linux/netfilter/ipset/ip_set.h b/kernel/include/linux/netfilter/ipset/ip_set.h
index 82c3cf8..2cc7f46 100644
--- a/kernel/include/linux/netfilter/ipset/ip_set.h
+++ b/kernel/include/linux/netfilter/ipset/ip_set.h
@@ -122,6 +122,7 @@ struct ip_set_ext {
u32 timeout;
u8 packets_op;
u8 bytes_op;
+ bool target;
};
struct ip_set;
@@ -188,6 +189,14 @@ struct ip_set_type_variant {
/* Return true if "b" set is the same as "a"
* according to the create set parameters */
bool (*same_set)(const struct ip_set *a, const struct ip_set *b);
+ /* Region-locking is used */
+ bool region_lock;
+};
+
+struct ip_set_region {
+ spinlock_t lock; /* Region lock */
+ size_t ext_size; /* Size of the dynamic extensions */
+ u32 elements; /* Number of elements vs timeout */
};
/* The core set type structure */
@@ -512,7 +521,7 @@ ip_set_init_skbinfo(struct ip_set_skbinfo *skbinfo,
}
#define IP_SET_INIT_KEXT(skb, opt, set) \
- { .bytes = (skb)->len, .packets = 1, \
+ { .bytes = (skb)->len, .packets = 1, .target = true,\
.timeout = ip_set_adt_opt_timeout(opt, set) }
#define IP_SET_INIT_UEXT(set) \