summaryrefslogtreecommitdiffstats
path: root/net/tipc/msg.h
diff options
context:
space:
mode:
authorJon Maloy2017-10-13 11:04:26 +0200
committerDavid S. Miller2017-10-13 17:46:00 +0200
commitb7d42635517fde2b095deddd0fba37be2302a285 (patch)
tree531940dc481a0e08ca7a2bbd0a328452344b82e1 /net/tipc/msg.h
parenttipc: receive group membership events via member socket (diff)
downloadkernel-qcow2-linux-b7d42635517fde2b095deddd0fba37be2302a285.tar.gz
kernel-qcow2-linux-b7d42635517fde2b095deddd0fba37be2302a285.tar.xz
kernel-qcow2-linux-b7d42635517fde2b095deddd0fba37be2302a285.zip
tipc: introduce flow control for group broadcast messages
We introduce an end-to-end flow control mechanism for group broadcast messages. This ensures that no messages are ever lost because of destination receive buffer overflow, with minimal impact on performance. For now, the algorithm is based on the assumption that there is only one active transmitter at any moment in time. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Acked-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/msg.h')
-rw-r--r--net/tipc/msg.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/tipc/msg.h b/net/tipc/msg.h
index 1b527b154e46..237d007499f9 100644
--- a/net/tipc/msg.h
+++ b/net/tipc/msg.h
@@ -538,6 +538,7 @@ static inline void msg_set_nameupper(struct tipc_msg *m, u32 n)
*/
#define GRP_JOIN_MSG 0
#define GRP_LEAVE_MSG 1
+#define GRP_ADV_MSG 2
/*
* Word 1
@@ -790,12 +791,12 @@ static inline void msg_set_conn_ack(struct tipc_msg *m, u32 n)
msg_set_bits(m, 9, 16, 0xffff, n);
}
-static inline u32 msg_adv_win(struct tipc_msg *m)
+static inline u16 msg_adv_win(struct tipc_msg *m)
{
return msg_bits(m, 9, 0, 0xffff);
}
-static inline void msg_set_adv_win(struct tipc_msg *m, u32 n)
+static inline void msg_set_adv_win(struct tipc_msg *m, u16 n)
{
msg_set_bits(m, 9, 0, 0xffff, n);
}