summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2003-09-11 04:26:31 -0700
committerHideaki Yoshifuji <yoshfuji@linux-ipv6.org>2003-09-11 04:26:31 -0700
commitc7903bf615a816a6fb4c16eb8eb70e81828762cd (patch)
tree336c64f6ad961780a55296885ed168e599ed8c21
parent4a432d7fd67c332c79517fbe56ea51fb0adb62a9 (diff)
[IPV6]: Fix non-CONFIG_PROC_FS build.
-rw-r--r--net/ipv6/proc.c38
-rw-r--r--net/ipv6/tcp_ipv6.c2
2 files changed, 30 insertions, 10 deletions
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c
index d28224e7b232..e6e4621f5b12 100644
--- a/net/ipv6/proc.c
+++ b/net/ipv6/proc.c
@@ -32,7 +32,6 @@
#ifdef CONFIG_PROC_FS
static struct proc_dir_entry *proc_net_devsnmp6;
-#endif
static int fold_prot_inuse(struct proto *proto)
{
@@ -58,7 +57,6 @@ static int sockstat6_seq_show(struct seq_file *seq, void *v)
return 0;
}
-
struct snmp6_item
{
char *name;
@@ -221,9 +219,7 @@ static struct file_operations snmp6_seq_fops = {
int snmp6_register_dev(struct inet6_dev *idev)
{
int err = -ENOMEM;
-#ifdef CONFIG_PROC_FS
struct proc_dir_entry *p;
-#endif
if (!idev || !idev->dev)
return -EINVAL;
@@ -232,7 +228,6 @@ int snmp6_register_dev(struct inet6_dev *idev)
__alignof__(struct icmpv6_mib)) < 0)
goto err_icmp;
-#ifdef CONFIG_PROC_FS
if (!proc_net_devsnmp6) {
err = -ENOENT;
goto err_proc;
@@ -244,27 +239,22 @@ int snmp6_register_dev(struct inet6_dev *idev)
p->proc_fops = &snmp6_seq_fops;
idev->stats.proc_dir_entry = p;
-#endif
return 0;
-#ifdef CONFIG_PROC_FS
err_proc:
snmp6_mib_free((void **)idev->stats.icmpv6);
-#endif
err_icmp:
return err;
}
int snmp6_unregister_dev(struct inet6_dev *idev)
{
-#ifdef CONFIG_PROC_FS
if (!proc_net_devsnmp6)
return -ENOENT;
if (!idev || !idev->stats.proc_dir_entry)
return -EINVAL;
remove_proc_entry(idev->stats.proc_dir_entry->name,
proc_net_devsnmp6);
-#endif
snmp6_mib_free((void **)idev->stats.icmpv6);
return 0;
@@ -302,3 +292,31 @@ void ipv6_misc_proc_exit(void)
proc_net_remove("snmp6");
}
+#else /* CONFIG_PROC_FS */
+
+
+int snmp6_register_dev(struct inet6_dev *idev)
+{
+ int err = -ENOMEM;
+
+ if (!idev || !idev->dev)
+ return -EINVAL;
+
+ if (snmp6_mib_init((void **)idev->stats.icmpv6, sizeof(struct icmpv6_mib),
+ __alignof__(struct icmpv6_mib)) < 0)
+ goto err_icmp;
+
+ return 0;
+
+err_icmp:
+ return err;
+}
+
+int snmp6_unregister_dev(struct inet6_dev *idev)
+{
+ snmp6_mib_free((void **)idev->stats.icmpv6);
+ return 0;
+}
+
+#endif
+
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 53fa52e33968..fc1b3e8837d9 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -2023,6 +2023,7 @@ static void get_timewait6_sock(struct seq_file *seq,
atomic_read(&tw->tw_refcnt), tw);
}
+#ifdef CONFIG_PROC_FS
static int tcp6_seq_show(struct seq_file *seq, void *v)
{
struct tcp_iter_state *st;
@@ -2072,6 +2073,7 @@ void tcp6_proc_exit(void)
{
tcp_proc_unregister(&tcp6_seq_afinfo);
}
+#endif
struct proto tcpv6_prot = {
.name = "TCPv6",