diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-03-02 08:40:39 -0500 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-03-05 19:21:05 -0500 |
commit | 43270b1bc5f1e33522dacf3d3b9175c29404c36c (patch) | |
tree | c79ecde27935293ffa36d7bfd665912f8186c2eb | |
parent | 72500bc11e4da570bd66c0965e2dc74f52c8aba2 (diff) |
netfilter: ipt_CLUSTERIP: deprecate it in favour of xt_cluster
xt_cluster supersedes ipt_CLUSTERIP since it can be also used in
gateway configurations (not only from the backend side).
ipt_CLUSTER is also known to leak the netdev that it uses on
device removal, which requires a rather large fix to workaround
the problem: http://patchwork.ozlabs.org/patch/358629/
So let's deprecate this so we can probably kill code this in the
future.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | include/net/netns/x_tables.h | 1 | ||||
-rw-r--r-- | net/ipv4/netfilter/ipt_CLUSTERIP.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/net/netns/x_tables.h b/include/net/netns/x_tables.h index c24060ee411e..4d6597ad6067 100644 --- a/include/net/netns/x_tables.h +++ b/include/net/netns/x_tables.h | |||
@@ -9,6 +9,7 @@ struct ebt_table; | |||
9 | struct netns_xt { | 9 | struct netns_xt { |
10 | struct list_head tables[NFPROTO_NUMPROTO]; | 10 | struct list_head tables[NFPROTO_NUMPROTO]; |
11 | bool notrack_deprecated_warning; | 11 | bool notrack_deprecated_warning; |
12 | bool clusterip_deprecated_warning; | ||
12 | #if defined(CONFIG_BRIDGE_NF_EBTABLES) || \ | 13 | #if defined(CONFIG_BRIDGE_NF_EBTABLES) || \ |
13 | defined(CONFIG_BRIDGE_NF_EBTABLES_MODULE) | 14 | defined(CONFIG_BRIDGE_NF_EBTABLES_MODULE) |
14 | struct ebt_table *broute_table; | 15 | struct ebt_table *broute_table; |
diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c index e90f83a3415b..f75e9df5e017 100644 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c | |||
@@ -418,6 +418,13 @@ static int clusterip_tg_check(const struct xt_tgchk_param *par) | |||
418 | if (ret < 0) | 418 | if (ret < 0) |
419 | pr_info("cannot load conntrack support for proto=%u\n", | 419 | pr_info("cannot load conntrack support for proto=%u\n", |
420 | par->family); | 420 | par->family); |
421 | |||
422 | if (!par->net->xt.clusterip_deprecated_warning) { | ||
423 | pr_info("ipt_CLUSTERIP is deprecated and it will removed soon, " | ||
424 | "use xt_cluster instead\n"); | ||
425 | par->net->xt.clusterip_deprecated_warning = true; | ||
426 | } | ||
427 | |||
421 | return ret; | 428 | return ret; |
422 | } | 429 | } |
423 | 430 | ||