Thread (12 messages) 12 messages, 3 authors, 2008-01-08

[XFRM]: Fix outbound statistics.

From: Masahide NAKAMURA <hidden>
Date: 2007-12-21 14:25:19
Subsystem: networking [general], networking [ipsec], the rest · Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Steffen Klassert, Herbert Xu, Linus Torvalds

Hello David,

I'm sorry, the previous mail contains wrong code:

David, I failed to include this statistics codes since I didn't notice
the conflict with the latest Herbert XFRM fix.

Please apply this, too.

Signed-off-by: Masahide NAKAMURA <redacted>
---
[snip]
 
do {
   err = xfrm_state_check_space(x, skb);
-	        if (err)
+		if (err) {
		goto error_nolock;
+			XFRM_INC_STATS(LINUX_MIB_XFRMOUTERROR);
+		}

Please apply the below patch instead of the previous.

Signed-off-by: Masahide NAKAMURA <redacted>
---
 net/xfrm/xfrm_output.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
index 867484a..f8e5961 100644
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
@@ -43,17 +43,23 @@ static int xfrm_output_one(struct sk_buff *skb, int err)
 
 	do {
 		err = xfrm_state_check_space(x, skb);
-		if (err)
+		if (err) {
+			XFRM_INC_STATS(LINUX_MIB_XFRMOUTERROR);
 			goto error_nolock;
+		}
 
 		err = x->outer_mode->output(x, skb);
-		if (err)
+		if (err) {
+			XFRM_INC_STATS(LINUX_MIB_XFRMOUTSTATEMODEERROR);
 			goto error_nolock;
+		}
 
 		spin_lock_bh(&x->lock);
 		err = xfrm_state_check_expire(x);
-		if (err)
+		if (err) {
+			XFRM_INC_STATS(LINUX_MIB_XFRMOUTSTATEEXPIRED);
 			goto error;
+		}
 
 		if (x->type->flags & XFRM_TYPE_REPLAY_PROT) {
 			XFRM_SKB_CB(skb)->seq = ++x->replay.oseq;
-- 
1.4.4.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help