diff options
author | Masahide NAKAMURA <nakam@linux-ipv6.org> | 2007-12-20 20:43:36 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 14:59:39 -0800 |
commit | 0aa647746e5602e608220c10e51f49709a030f5d (patch) | |
tree | 514cde2ddf6308b0f1dfd83039cb8dd62b2c69d2 /net/xfrm/xfrm_output.c | |
parent | 558f82ef6e0d25e87f7468c07b6db1fbbf95a855 (diff) | |
download | op-kernel-dev-0aa647746e5602e608220c10e51f49709a030f5d.zip op-kernel-dev-0aa647746e5602e608220c10e51f49709a030f5d.tar.gz |
[XFRM]: Support to increment packet dropping statistics.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_output.c')
-rw-r--r-- | net/xfrm/xfrm_output.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c index 26fa0cb..867484a 100644 --- a/net/xfrm/xfrm_output.c +++ b/net/xfrm/xfrm_output.c @@ -69,10 +69,13 @@ static int xfrm_output_one(struct sk_buff *skb, int err) err = x->type->output(x, skb); resume: - if (err) + if (err) { + XFRM_INC_STATS(LINUX_MIB_XFRMOUTSTATEPROTOERROR); goto error_nolock; + } if (!(skb->dst = dst_pop(dst))) { + XFRM_INC_STATS(LINUX_MIB_XFRMOUTERROR); err = -EHOSTUNREACH; goto error_nolock; } @@ -167,6 +170,7 @@ int xfrm_output(struct sk_buff *skb) if (skb->ip_summed == CHECKSUM_PARTIAL) { err = skb_checksum_help(skb); if (err) { + XFRM_INC_STATS(LINUX_MIB_XFRMOUTERROR); kfree_skb(skb); return err; } |