Commit 0048b826 authored by Allan Stephens's avatar Allan Stephens Committed by David S. Miller

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: default avatarAllan Stephens <allan.stephens@windriver.com>
Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5b1f7bde
...@@ -409,10 +409,8 @@ int tipc_bclink_send_msg(struct sk_buff *buf) ...@@ -409,10 +409,8 @@ int tipc_bclink_send_msg(struct sk_buff *buf)
res = tipc_link_send_buf(bcl, buf); res = tipc_link_send_buf(bcl, buf);
if (unlikely(res == -ELINKCONG)) if (unlikely(res == -ELINKCONG))
buf_discard(buf); buf_discard(buf);
else { else
bcl->stats.sent_info++;
bclink_set_last_sent(); bclink_set_last_sent();
}
if (bcl->out_queue_size > bcl->stats.max_queue_sz) if (bcl->out_queue_size > bcl->stats.max_queue_sz)
bcl->stats.max_queue_sz = bcl->out_queue_size; bcl->stats.max_queue_sz = bcl->out_queue_size;
...@@ -578,6 +576,7 @@ static int tipc_bcbearer_send(struct sk_buff *buf, ...@@ -578,6 +576,7 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
msg = buf_msg(buf); msg = buf_msg(buf);
msg_set_non_seq(msg, 1); msg_set_non_seq(msg, 1);
msg_set_mc_netid(msg, tipc_net_id); msg_set_mc_netid(msg, tipc_net_id);
bcl->stats.sent_info++;
} }
/* Send buffer over bearers until all targets reached */ /* Send buffer over bearers until all targets reached */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment