[IPV6]: Consolidate common SNMP code
This patch moves the non-proc SNMP code into addrconf.c and reuses IPv4 SNMP code where applicable. As a result we can skip proc.o if /proc is disabled. Note that I've made a number of functions static since they're only used by addrconf.c for now. If they ever get used elsewhere we can always remove the static. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
5e0f04351d
commit
7f7d9a6b96
@@ -166,14 +166,6 @@ DECLARE_SNMP_STAT(struct udp_mib, udplite_stats_in6);
|
||||
if (is_udplite) SNMP_INC_STATS_USER(udplite_stats_in6, field); \
|
||||
else SNMP_INC_STATS_USER(udp_stats_in6, field); } while(0)
|
||||
|
||||
int snmp6_register_dev(struct inet6_dev *idev);
|
||||
int snmp6_unregister_dev(struct inet6_dev *idev);
|
||||
int snmp6_alloc_dev(struct inet6_dev *idev);
|
||||
int snmp6_free_dev(struct inet6_dev *idev);
|
||||
int snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign);
|
||||
void snmp6_mib_free(void *ptr[2]);
|
||||
void snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes);
|
||||
|
||||
struct ip6_ra_chain
|
||||
{
|
||||
struct ip6_ra_chain *next;
|
||||
@@ -606,8 +598,20 @@ extern int udplite6_proc_init(void);
|
||||
extern void udplite6_proc_exit(void);
|
||||
extern int ipv6_misc_proc_init(void);
|
||||
extern void ipv6_misc_proc_exit(void);
|
||||
extern int snmp6_register_dev(struct inet6_dev *idev);
|
||||
extern int snmp6_unregister_dev(struct inet6_dev *idev);
|
||||
|
||||
extern struct rt6_statistics rt6_stats;
|
||||
#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
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
Reference in New Issue
Block a user