netdev
[Top] [All Lists]

!CONFIG_PROC_FS fix for ipv6

To: netdev@xxxxxxxxxxx
Subject: !CONFIG_PROC_FS fix for ipv6
From: Dave Jones <davej@xxxxxxxxxx>
Date: Tue, 9 Sep 2003 10:22:47 +0100
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.4i
Against 2.6.test5


diff -urpN --exclude-from=/home/davej/.exclude bk-linus/net/ipv6/proc.c 
linux-2.5/net/ipv6/proc.c
--- bk-linus/net/ipv6/proc.c    2003-09-08 00:48:56.000000000 +0100
+++ linux-2.5/net/ipv6/proc.c   2003-09-08 22:29:05.000000000 +0100
@@ -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
        return 0;
 }
 
-
 struct snmp6_item
 {
        char *name;
@@ -221,9 +219,7 @@ static struct file_operations snmp6_seq_
 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 
                           __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 
        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;
@@ -307,3 +297,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 -urpN --exclude-from=/home/davej/.exclude bk-linus/net/ipv6/tcp_ipv6.c 
linux-2.5/net/ipv6/tcp_ipv6.c
--- bk-linus/net/ipv6/tcp_ipv6.c        2003-09-08 00:48:56.000000000 +0100
+++ linux-2.5/net/ipv6/tcp_ipv6.c       2003-09-08 22:29:06.000000000 +0100
@@ -2023,6 +2023,7 @@ static void get_timewait6_sock(struct se
                   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",

-- 
 Dave Jones     http://www.codemonkey.org.uk

<Prev in Thread] Current Thread [Next in Thread>