14 #include <linux/module.h>
17 #include <linux/netfilter/x_tables.h>
40 #define ADT_OPT(n, f, d, fs, cfs, t) \
41 const struct ip_set_adt_opt n = { \
48 #define ADT_MOPT(n, f, d, fs, cfs, t) \
49 struct ip_set_adt_opt n = { \
95 pr_warning(
"Cannot find set indentified by id %u to match\n",
100 pr_warning(
"Protocol error: set match dimension "
101 "is over the limit!\n");
146 pr_warning(
"Cannot find add_set index %u as target\n",
155 pr_warning(
"Cannot find del_set index %u as target\n",
164 pr_warning(
"Protocol error: SET target dimension "
165 "is over the limit!\n");
213 pr_warning(
"Cannot find set indentified by id %u to match\n",
218 pr_warning(
"Protocol error: set match dimension "
219 "is over the limit!\n");
261 pr_warning(
"Cannot find add_set index %u as target\n",
270 pr_warning(
"Cannot find del_set index %u as target\n",
279 pr_warning(
"Protocol error: SET target dimension "
280 "is over the limit!\n");
314 if (add_opt.timeout != IPSET_NO_TIMEOUT &&
325 #define set_target_v2_checkentry set_target_v1_checkentry
326 #define set_target_v2_destroy set_target_v1_destroy
333 .match = set_match_v0,
335 .checkentry = set_match_v0_checkentry,
336 .destroy = set_match_v0_destroy,
343 .match = set_match_v1,
345 .checkentry = set_match_v1_checkentry,
346 .destroy = set_match_v1_destroy,
353 .match = set_match_v1,
355 .checkentry = set_match_v1_checkentry,
356 .destroy = set_match_v1_destroy,
364 .match = set_match_v1,
366 .checkentry = set_match_v1_checkentry,
367 .destroy = set_match_v1_destroy,
374 .match = set_match_v1,
376 .checkentry = set_match_v1_checkentry,
377 .destroy = set_match_v1_destroy,
382 static struct xt_target set_targets[] __read_mostly = {
387 .target = set_target_v0,
389 .checkentry = set_target_v0_checkentry,
390 .destroy = set_target_v0_destroy,
397 .target = set_target_v1,
399 .checkentry = set_target_v1_checkentry,
400 .destroy = set_target_v1_destroy,
407 .target = set_target_v1,
409 .checkentry = set_target_v1_checkentry,
410 .destroy = set_target_v1_destroy,
418 .target = set_target_v2,
428 .target = set_target_v2,
436 static int __init xt_set_init(
void)
450 static void __exit xt_set_fini(
void)