netfilter: xt_connlimit: netns support

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
Alexey Dobriyan 2010-01-18 08:07:50 +01:00 committed by Patrick McHardy
parent 9592a5c01e
commit 83fc81024b
1 changed files with 5 additions and 3 deletions

View File

@ -90,7 +90,8 @@ same_source_net(const union nf_inet_addr *addr,
}
}
static int count_them(struct xt_connlimit_data *data,
static int count_them(struct net *net,
struct xt_connlimit_data *data,
const struct nf_conntrack_tuple *tuple,
const union nf_inet_addr *addr,
const union nf_inet_addr *mask,
@ -113,7 +114,7 @@ static int count_them(struct xt_connlimit_data *data,
/* check the saved connections */
list_for_each_entry_safe(conn, tmp, hash, list) {
found = nf_conntrack_find_get(&init_net, &conn->tuple);
found = nf_conntrack_find_get(net, &conn->tuple);
found_ct = NULL;
if (found != NULL)
@ -171,6 +172,7 @@ static int count_them(struct xt_connlimit_data *data,
static bool
connlimit_mt(const struct sk_buff *skb, const struct xt_match_param *par)
{
struct net *net = dev_net(par->in ? par->in : par->out);
const struct xt_connlimit_info *info = par->matchinfo;
union nf_inet_addr addr;
struct nf_conntrack_tuple tuple;
@ -195,7 +197,7 @@ connlimit_mt(const struct sk_buff *skb, const struct xt_match_param *par)
}
spin_lock_bh(&info->data->lock);
connections = count_them(info->data, tuple_ptr, &addr,
connections = count_them(net, info->data, tuple_ptr, &addr,
&info->mask, par->family);
spin_unlock_bh(&info->data->lock);