net: CONFIG_NET_SYSCTL_DEV: make per interface dev_snmp6 proc entries optional Use same CONFIG_NET_SYSCTL_DEV config option (we should probably rename it to a better name) to enable/disable per interface dev_snmp6 proc entries. --- //packages/linux_2.6.31/rc7/src/include/net/ipv6.h +++ //packages/linux_2.6.31/rc7/src/include/net/ipv6.h @@ -604,8 +604,14 @@ extern void udplite6_proc_exit(void); extern int ipv6_misc_proc_init(void); extern void ipv6_misc_proc_exit(void); + +#ifdef CONFIG_NET_SYSCTL_DEV extern int snmp6_register_dev(struct inet6_dev *idev); extern int snmp6_unregister_dev(struct inet6_dev *idev); +#else +static inline int snmp6_register_dev(struct inet6_dev *idev) { return 0; } +static inline int snmp6_unregister_dev(struct inet6_dev *idev) { return 0; } +#endif #else static inline int ac6_proc_init(struct net *net) { return 0; } --- //packages/linux_2.6.31/rc7/src/net/ipv6/proc.c +++ //packages/linux_2.6.31/rc7/src/net/ipv6/proc.c @@ -232,6 +232,7 @@ .release = single_release, }; +#ifdef CONFIG_NET_SYSCTL_DEV int snmp6_register_dev(struct inet6_dev *idev) { struct proc_dir_entry *p; @@ -266,6 +267,7 @@ idev->stats.proc_dir_entry = NULL; return 0; } +#endif static int ipv6_proc_init_net(struct net *net) {