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/arch/powerpc/configs/ixia_ppc750_defconfig +++ //packages/linux_2.6.31/rc7/src/arch/powerpc/configs/ixia_ppc750_defconfig @@ -287,6 +287,7 @@ # # Networking options # +# CONFIG_NET_SYSCTL_DEV is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y --- //packages/linux_2.6.31/rc7/src/net/Kconfig +++ //packages/linux_2.6.31/rc7/src/net/Kconfig @@ -25,6 +25,15 @@ menu "Networking options" +config NET_SYSCTL_DEV + bool "Per device sysctl entries" + default y + depends on SYSCTL + help + Enables per device sysctl entries. You want this enabled unless + your system has a large number of interfaces and you want to reduce + memory usage. + source "net/packet/Kconfig" source "net/unix/Kconfig" source "net/xfrm/Kconfig" --- //packages/linux_2.6.31/rc7/src/net/ipv4/devinet.c +++ //packages/linux_2.6.31/rc7/src/net/ipv4/devinet.c @@ -97,7 +97,7 @@ static BLOCKING_NOTIFIER_HEAD(inetaddr_chain); static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap, int destroy); -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_NET_SYSCTL_DEV static void devinet_sysctl_register(struct in_device *idev); static void devinet_sysctl_unregister(struct in_device *idev); #else @@ -1397,7 +1397,6 @@ return ret; } - #define DEVINET_SYSCTL_ENTRY(attr, name, mval, proc, sysctl) \ { \ .ctl_name = NET_IPV4_CONF_ ## attr, \ @@ -1531,6 +1530,7 @@ kfree(t); } +#ifdef CONFIG_NET_SYSCTL_DEV static void devinet_sysctl_register(struct in_device *idev) { neigh_sysctl_register(idev->dev, idev->arp_parms, NET_IPV4, @@ -1544,6 +1544,7 @@ __devinet_sysctl_unregister(&idev->cnf); neigh_sysctl_unregister(idev->arp_parms); } +#endif static struct ctl_table ctl_forward_entry[] = { { --- //packages/linux_2.6.31/rc7/src/net/ipv6/addrconf.c +++ //packages/linux_2.6.31/rc7/src/net/ipv6/addrconf.c @@ -100,7 +100,7 @@ #define INFINITY_LIFE_TIME 0xFFFFFFFF #define TIME_DELTA(a,b) ((unsigned long)((long)(a) - (long)(b))) -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_NET_SYSCTL_DEV static void addrconf_sysctl_register(struct inet6_dev *idev); static void addrconf_sysctl_unregister(struct inet6_dev *idev); #else @@ -4412,6 +4412,7 @@ kfree(t); } +#ifdef CONFIG_NET_SYSCTL_DEV static void addrconf_sysctl_register(struct inet6_dev *idev) { neigh_sysctl_register(idev->dev, idev->nd_parms, NET_IPV6, @@ -4427,7 +4428,7 @@ __addrconf_sysctl_unregister(&idev->cnf); neigh_sysctl_unregister(idev->nd_parms); } - +#endif #endif