summaryrefslogtreecommitdiff
path: root/net/sctp/sysctl.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-08-07 11:23:59 +0400
committerDavid S. Miller <davem@davemloft.net>2012-08-15 10:30:37 +0400
commitebb7e95d9351f77a8ec1fca20eb645051401b7b2 (patch)
tree9edfe4abbdac8c05f3fe19ef3eb5d7e32500b69b /net/sctp/sysctl.c
parentb01a24078fa3fc4f0f447d1306ce5adc495ead86 (diff)
downloadlinux-ebb7e95d9351f77a8ec1fca20eb645051401b7b2.tar.xz
sctp: Add infrastructure for per net sysctls
Start with an empty sctp_net_table that will be populated as the various tunable sysctls are made per net. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Acked-by: Vlad Yasevich <vyasevich@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/sysctl.c')
-rw-r--r--net/sctp/sysctl.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
index 2b2bfe933ff1..bee36c408dde 100644
--- a/net/sctp/sysctl.c
+++ b/net/sctp/sysctl.c
@@ -284,6 +284,27 @@ static ctl_table sctp_table[] = {
{ /* sentinel */ }
};
+static ctl_table sctp_net_table[] = {
+ { /* sentinel */ }
+};
+
+int sctp_sysctl_net_register(struct net *net)
+{
+ struct ctl_table *table;
+
+ table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
+ if (!table)
+ return -ENOMEM;
+
+ net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table);
+ return 0;
+}
+
+void sctp_sysctl_net_unregister(struct net *net)
+{
+ unregister_net_sysctl_table(net->sctp.sysctl_header);
+}
+
static struct ctl_table_header * sctp_sysctl_header;
/* Sysctl registration. */