mirror of https://gitee.com/openkylin/linux.git
ipv6: consistent use of IP6_INC_STATS_BH() in ip6_forward()
ip6_forward() runs from softirq context, we can use the SNMP macros assuming this. Use same indentation for all IP6_INC_STATS_BH() calls. Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
22781a5b9c
commit
15c77d8b3b
|
@ -336,7 +336,8 @@ int ip6_forward(struct sk_buff *skb)
|
|||
goto drop;
|
||||
|
||||
if (!xfrm6_policy_check(NULL, XFRM_POLICY_FWD, skb)) {
|
||||
IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_INDISCARDS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INDISCARDS);
|
||||
goto drop;
|
||||
}
|
||||
|
||||
|
@ -370,8 +371,8 @@ int ip6_forward(struct sk_buff *skb)
|
|||
/* Force OUTPUT device used as source address */
|
||||
skb->dev = dst->dev;
|
||||
icmpv6_send(skb, ICMPV6_TIME_EXCEED, ICMPV6_EXC_HOPLIMIT, 0);
|
||||
IP6_INC_STATS_BH(net,
|
||||
ip6_dst_idev(dst), IPSTATS_MIB_INHDRERRORS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INHDRERRORS);
|
||||
|
||||
kfree_skb(skb);
|
||||
return -ETIMEDOUT;
|
||||
|
@ -384,14 +385,15 @@ int ip6_forward(struct sk_buff *skb)
|
|||
if (proxied > 0)
|
||||
return ip6_input(skb);
|
||||
else if (proxied < 0) {
|
||||
IP6_INC_STATS(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INDISCARDS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INDISCARDS);
|
||||
goto drop;
|
||||
}
|
||||
}
|
||||
|
||||
if (!xfrm6_route_forward(skb)) {
|
||||
IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_INDISCARDS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INDISCARDS);
|
||||
goto drop;
|
||||
}
|
||||
dst = skb_dst(skb);
|
||||
|
@ -448,16 +450,17 @@ int ip6_forward(struct sk_buff *skb)
|
|||
/* Again, force OUTPUT device used as source address */
|
||||
skb->dev = dst->dev;
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
IP6_INC_STATS_BH(net,
|
||||
ip6_dst_idev(dst), IPSTATS_MIB_INTOOBIGERRORS);
|
||||
IP6_INC_STATS_BH(net,
|
||||
ip6_dst_idev(dst), IPSTATS_MIB_FRAGFAILS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INTOOBIGERRORS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_FRAGFAILS);
|
||||
kfree_skb(skb);
|
||||
return -EMSGSIZE;
|
||||
}
|
||||
|
||||
if (skb_cow(skb, dst->dev->hard_header_len)) {
|
||||
IP6_INC_STATS(net, ip6_dst_idev(dst), IPSTATS_MIB_OUTDISCARDS);
|
||||
IP6_INC_STATS_BH(net, ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_OUTDISCARDS);
|
||||
goto drop;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue