summaryrefslogtreecommitdiffstats
path: root/net/tipc/link.c
diff options
context:
space:
mode:
authorJon Paul Maloy <jon.maloy@ericsson.com>2015-10-22 08:51:39 -0400
committerDavid S. Miller <davem@davemloft.net>2015-10-24 06:56:32 -0700
commit2f566124570625c29c3fd79bac4d9cd97c0c31a1 (patch)
treeeb1330a7984296a6f1eac0da479f6c83322691c8 /net/tipc/link.c
parentc1ab3f1dea3df566ad38caf98baf69c656679090 (diff)
downloadlinux-2f566124570625c29c3fd79bac4d9cd97c0c31a1.tar.bz2
tipc: let broadcast transmission use new link transmit function
This commit simplifies the broadcast link transmission function, by leveraging previous changes to the link transmission function and the broadcast transmission link life cycle. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/link.c')
-rw-r--r--net/tipc/link.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c
index dfc738e5cff9..363da5f85704 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -158,6 +158,21 @@ int tipc_link_is_active(struct tipc_link *l)
return (node_active_link(n, 0) == l) || (node_active_link(n, 1) == l);
}
+void tipc_link_add_bc_peer(struct tipc_link *l)
+{
+ l->ackers++;
+}
+
+void tipc_link_remove_bc_peer(struct tipc_link *l)
+{
+ l->ackers--;
+}
+
+int tipc_link_bc_peers(struct tipc_link *l)
+{
+ return l->ackers;
+}
+
static u32 link_own_addr(struct tipc_link *l)
{
return msg_prevnode(l->pmsg);
@@ -258,6 +273,7 @@ bool tipc_link_bc_create(struct tipc_node *n, int mtu, int window,
l = *link;
strcpy(l->name, tipc_bclink_name);
tipc_link_reset(l);
+ l->ackers = 0;
return true;
}
@@ -898,8 +914,7 @@ static void link_retransmit_failure(struct tipc_link *l_ptr,
char addr_string[16];
pr_info("Msg seq number: %u, ", msg_seqno(msg));
- pr_cont("Outstanding acks: %lu\n",
- (unsigned long) TIPC_SKB_CB(buf)->handle);
+ pr_cont("Outstanding acks: %u\n", TIPC_SKB_CB(buf)->ackers);
n_ptr = tipc_bclink_retransmit_to(net);