|
@@ -63,6 +63,8 @@ struct nf_ct_frag6_skb_cb
|
|
static struct inet_frags nf_frags;
|
|
static struct inet_frags nf_frags;
|
|
|
|
|
|
#ifdef CONFIG_SYSCTL
|
|
#ifdef CONFIG_SYSCTL
|
|
|
|
+static int zero;
|
|
|
|
+
|
|
static struct ctl_table nf_ct_frag6_sysctl_table[] = {
|
|
static struct ctl_table nf_ct_frag6_sysctl_table[] = {
|
|
{
|
|
{
|
|
.procname = "nf_conntrack_frag6_timeout",
|
|
.procname = "nf_conntrack_frag6_timeout",
|
|
@@ -76,14 +78,17 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = {
|
|
.data = &init_net.nf_frag.frags.low_thresh,
|
|
.data = &init_net.nf_frag.frags.low_thresh,
|
|
.maxlen = sizeof(unsigned int),
|
|
.maxlen = sizeof(unsigned int),
|
|
.mode = 0644,
|
|
.mode = 0644,
|
|
- .proc_handler = proc_dointvec,
|
|
|
|
|
|
+ .proc_handler = proc_dointvec_minmax,
|
|
|
|
+ .extra1 = &zero,
|
|
|
|
+ .extra2 = &init_net.nf_frag.frags.high_thresh
|
|
},
|
|
},
|
|
{
|
|
{
|
|
.procname = "nf_conntrack_frag6_high_thresh",
|
|
.procname = "nf_conntrack_frag6_high_thresh",
|
|
.data = &init_net.nf_frag.frags.high_thresh,
|
|
.data = &init_net.nf_frag.frags.high_thresh,
|
|
.maxlen = sizeof(unsigned int),
|
|
.maxlen = sizeof(unsigned int),
|
|
.mode = 0644,
|
|
.mode = 0644,
|
|
- .proc_handler = proc_dointvec,
|
|
|
|
|
|
+ .proc_handler = proc_dointvec_minmax,
|
|
|
|
+ .extra1 = &init_net.nf_frag.frags.low_thresh
|
|
},
|
|
},
|
|
{ }
|
|
{ }
|
|
};
|
|
};
|
|
@@ -102,7 +107,10 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
|
|
|
|
|
|
table[0].data = &net->nf_frag.frags.timeout;
|
|
table[0].data = &net->nf_frag.frags.timeout;
|
|
table[1].data = &net->nf_frag.frags.low_thresh;
|
|
table[1].data = &net->nf_frag.frags.low_thresh;
|
|
|
|
+ table[1].extra2 = &net->nf_frag.frags.high_thresh;
|
|
table[2].data = &net->nf_frag.frags.high_thresh;
|
|
table[2].data = &net->nf_frag.frags.high_thresh;
|
|
|
|
+ table[2].extra1 = &net->nf_frag.frags.low_thresh;
|
|
|
|
+ table[2].extra2 = &init_net.nf_frag.frags.high_thresh;
|
|
}
|
|
}
|
|
|
|
|
|
hdr = register_net_sysctl(net, "net/netfilter", table);
|
|
hdr = register_net_sysctl(net, "net/netfilter", table);
|