summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2010-08-17 11:00:10 +0000
committerDavid S. Miller <davem@davemloft.net>2010-08-17 17:31:55 -0700
commit0048b826afae7c47afdc47c3854707581cafe3d8 (patch)
tree72259c47f6e75c669a106b35bd1597a1b54b22d3
parent5b1f7bdeb698547cc319c7a302a5acf585227a92 (diff)
tipc: Fix bug in broadcast link transmit statistics computation
Modify TIPC's broadcast link so that it counts each piece of a fragmented message individually, rather than as treating the group as a single message. This ensures that proper correlation of sent and received traffic can be done when the broadcast link statistics are displayed, and is consistent with the way fragments are counted by TIPC's unicast links. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/tipc/bcast.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c
index eefdd1a85f4..b11248c2d78 100644
--- a/net/tipc/bcast.c
+++ b/net/tipc/bcast.c
@@ -409,10 +409,8 @@ int tipc_bclink_send_msg(struct sk_buff *buf)
res = tipc_link_send_buf(bcl, buf);
if (unlikely(res == -ELINKCONG))
buf_discard(buf);
- else {
- bcl->stats.sent_info++;
+ else
bclink_set_last_sent();
- }
if (bcl->out_queue_size > bcl->stats.max_queue_sz)
bcl->stats.max_queue_sz = bcl->out_queue_size;
@@ -578,6 +576,7 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
msg = buf_msg(buf);
msg_set_non_seq(msg, 1);
msg_set_mc_netid(msg, tipc_net_id);
+ bcl->stats.sent_info++;
}
/* Send buffer over bearers until all targets reached */