summaryrefslogtreecommitdiffstats
path: root/net/tipc/port.c
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2011-04-18 16:14:26 +0200
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-05-10 22:03:52 +0200
commit7f47f5c751c93f2ca9e7f0ef6c0915162ac9e076 (patch)
tree27bbbf7040b38ae1a0925234d7062d8edb77a91e /net/tipc/port.c
parenttipc: Fix problem with bundled multicast message (diff)
downloadlinux-7f47f5c751c93f2ca9e7f0ef6c0915162ac9e076.tar.xz
linux-7f47f5c751c93f2ca9e7f0ef6c0915162ac9e076.zip
tipc: Update destination node field on incoming multicast messages
Sets the destination node field of an incoming multicast message to the receiving node's network address before handing off the message to each receiving port. This ensures that, in the event the destination port returns the message to the sender, the sender can identify which node the destination port belonged to. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'net/tipc/port.c')
-rw-r--r--net/tipc/port.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index ac64037514f3..9f2ff12cf436 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -164,6 +164,7 @@ void tipc_port_recv_mcast(struct sk_buff *buf, struct port_list *dp)
/* Deliver a copy of message to each destination port */
if (dp->count != 0) {
+ msg_set_destnode(msg, tipc_own_addr);
if (dp->count == 1) {
msg_set_destport(msg, dp->ports[0]);
tipc_port_recv_msg(buf);