aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/netfilter/nf_conntrack.h1
-rw-r--r--net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c3
-rw-r--r--net/netfilter/nf_conntrack_core.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h
index 90fb66d99d0c..4ac5ab187c2a 100644
--- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h
@@ -249,6 +249,7 @@ static inline int nf_ct_is_untracked(const struct sk_buff *skb)
249 return (skb->nfct == &nf_conntrack_untracked.ct_general); 249 return (skb->nfct == &nf_conntrack_untracked.ct_general);
250} 250}
251 251
252extern int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp);
252extern unsigned int nf_conntrack_htable_size; 253extern unsigned int nf_conntrack_htable_size;
253extern int nf_conntrack_checksum; 254extern int nf_conntrack_checksum;
254extern atomic_t nf_conntrack_count; 255extern atomic_t nf_conntrack_count;
diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
index 831e9b29806d..910dae732a0f 100644
--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
@@ -419,6 +419,9 @@ struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv4 __read_mostly = {
419 .me = THIS_MODULE, 419 .me = THIS_MODULE,
420}; 420};
421 421
422module_param_call(hashsize, nf_conntrack_set_hashsize, param_get_uint,
423 &nf_conntrack_htable_size, 0600);
424
422MODULE_ALIAS("nf_conntrack-" __stringify(AF_INET)); 425MODULE_ALIAS("nf_conntrack-" __stringify(AF_INET));
423MODULE_ALIAS("ip_conntrack"); 426MODULE_ALIAS("ip_conntrack");
424MODULE_LICENSE("GPL"); 427MODULE_LICENSE("GPL");
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 000c2fb462d0..a4d5cdeb0110 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -1016,7 +1016,7 @@ struct hlist_head *nf_ct_alloc_hashtable(int *sizep, int *vmalloced)
1016} 1016}
1017EXPORT_SYMBOL_GPL(nf_ct_alloc_hashtable); 1017EXPORT_SYMBOL_GPL(nf_ct_alloc_hashtable);
1018 1018
1019int set_hashsize(const char *val, struct kernel_param *kp) 1019int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp)
1020{ 1020{
1021 int i, bucket, hashsize, vmalloced; 1021 int i, bucket, hashsize, vmalloced;
1022 int old_vmalloced, old_size; 1022 int old_vmalloced, old_size;
@@ -1063,8 +1063,9 @@ int set_hashsize(const char *val, struct kernel_param *kp)
1063 nf_ct_free_hashtable(old_hash, old_vmalloced, old_size); 1063 nf_ct_free_hashtable(old_hash, old_vmalloced, old_size);
1064 return 0; 1064 return 0;
1065} 1065}
1066EXPORT_SYMBOL_GPL(nf_conntrack_set_hashsize);
1066 1067
1067module_param_call(hashsize, set_hashsize, param_get_uint, 1068module_param_call(hashsize, nf_conntrack_set_hashsize, param_get_uint,
1068 &nf_conntrack_htable_size, 0600); 1069 &nf_conntrack_htable_size, 0600);
1069 1070
1070int __init nf_conntrack_init(void) 1071int __init nf_conntrack_init(void)