summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2011-04-18 10:08:22 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-05-10 16:03:51 -0400
commit7462b9e9f69aa6c5e2fded65d3b03df4ed08ff45 (patch)
tree8f730ab75bad31fe0384eeec2bde2a2fb429d26e
parent53b94364a7c96d3b2276cb2bbbecfb269bc9f0fc (diff)
downloadlinux-7462b9e9f69aa6c5e2fded65d3b03df4ed08ff45.tar.bz2
tipc: Fix problem with bundled multicast message
Set the destination node and destination port fields of an outgoing multicast message header to zero; this is necessary to ensure that the receiving node can route the message properly if it was packed into a bundle due to link congestion. (Previously, there was a chance that the receiving node would send the unbundled message to a random node & port, rather than processing the message itself.) Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--net/tipc/port.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index c2229c4b18ef..ac64037514f3 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -92,6 +92,8 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
hdr = &oport->phdr;
msg_set_type(hdr, TIPC_MCAST_MSG);
msg_set_lookup_scope(hdr, TIPC_CLUSTER_SCOPE);
+ msg_set_destport(hdr, 0);
+ msg_set_destnode(hdr, 0);
msg_set_nametype(hdr, seq->type);
msg_set_namelower(hdr, seq->lower);
msg_set_nameupper(hdr, seq->upper);