提交 49ed67a9 编写于 作者: Y YOSHIFUJI Hideaki 提交者: David S. Miller

[IPV6] SNMP: Move some statistic bits to net/ipv6/proc.c.

Signed-off-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 bf99f1bd
...@@ -712,39 +712,6 @@ int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb) ...@@ -712,39 +712,6 @@ int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb)
EXPORT_SYMBOL_GPL(ipv6_opt_accepted); EXPORT_SYMBOL_GPL(ipv6_opt_accepted);
int
snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign)
{
if (ptr == NULL)
return -EINVAL;
ptr[0] = __alloc_percpu(mibsize);
if (!ptr[0])
goto err0;
ptr[1] = __alloc_percpu(mibsize);
if (!ptr[1])
goto err1;
return 0;
err1:
free_percpu(ptr[0]);
ptr[0] = NULL;
err0:
return -ENOMEM;
}
void
snmp6_mib_free(void *ptr[2])
{
if (ptr == NULL)
return;
free_percpu(ptr[0]);
free_percpu(ptr[1]);
ptr[0] = ptr[1] = NULL;
}
static int __init init_ipv6_mibs(void) static int __init init_ipv6_mibs(void)
{ {
if (snmp6_mib_init((void **)ipv6_statistics, sizeof (struct ipstats_mib), if (snmp6_mib_init((void **)ipv6_statistics, sizeof (struct ipstats_mib),
......
...@@ -346,4 +346,34 @@ int snmp6_free_dev(struct inet6_dev *idev) ...@@ -346,4 +346,34 @@ int snmp6_free_dev(struct inet6_dev *idev)
return 0; return 0;
} }
int snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign)
{
if (ptr == NULL)
return -EINVAL;
ptr[0] = __alloc_percpu(mibsize);
if (!ptr[0])
goto err0;
ptr[1] = __alloc_percpu(mibsize);
if (!ptr[1])
goto err1;
return 0;
err1:
free_percpu(ptr[0]);
ptr[0] = NULL;
err0:
return -ENOMEM;
}
void snmp6_mib_free(void *ptr[2])
{
if (ptr == NULL)
return;
free_percpu(ptr[0]);
free_percpu(ptr[1]);
ptr[0] = ptr[1] = NULL;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册