aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/msg.c')
-rw-r--r--net/tipc/msg.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/net/tipc/msg.c b/net/tipc/msg.c
index b6cc58ec7346..562c926a51cc 100644
--- a/net/tipc/msg.c
+++ b/net/tipc/msg.c
@@ -520,17 +520,15 @@ exit:
520/** 520/**
521 * tipc_msg_lookup_dest(): try to find new destination for named message 521 * tipc_msg_lookup_dest(): try to find new destination for named message
522 * @skb: the buffer containing the message. 522 * @skb: the buffer containing the message.
523 * @dnode: return value: next-hop node, if destination found 523 * @err: error code to be used by caller if lookup fails
524 * @err: return value: error code to use, if message to be rejected
525 * Does not consume buffer 524 * Does not consume buffer
526 * Returns true if a destination is found, false otherwise 525 * Returns true if a destination is found, false otherwise
527 */ 526 */
528bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, 527bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err)
529 u32 *dnode, int *err)
530{ 528{
531 struct tipc_msg *msg = buf_msg(skb); 529 struct tipc_msg *msg = buf_msg(skb);
532 u32 dport; 530 u32 dport, dnode;
533 u32 own_addr = tipc_own_addr(net); 531 u32 onode = tipc_own_addr(net);
534 532
535 if (!msg_isdata(msg)) 533 if (!msg_isdata(msg))
536 return false; 534 return false;
@@ -543,15 +541,15 @@ bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb,
543 return false; 541 return false;
544 if (msg_reroute_cnt(msg)) 542 if (msg_reroute_cnt(msg))
545 return false; 543 return false;
546 *dnode = addr_domain(net, msg_lookup_scope(msg)); 544 dnode = addr_domain(net, msg_lookup_scope(msg));
547 dport = tipc_nametbl_translate(net, msg_nametype(msg), 545 dport = tipc_nametbl_translate(net, msg_nametype(msg),
548 msg_nameinst(msg), dnode); 546 msg_nameinst(msg), &dnode);
549 if (!dport) 547 if (!dport)
550 return false; 548 return false;
551 msg_incr_reroute_cnt(msg); 549 msg_incr_reroute_cnt(msg);
552 if (*dnode != own_addr) 550 if (dnode != onode)
553 msg_set_prevnode(msg, own_addr); 551 msg_set_prevnode(msg, onode);
554 msg_set_destnode(msg, *dnode); 552 msg_set_destnode(msg, dnode);
555 msg_set_destport(msg, dport); 553 msg_set_destport(msg, dport);
556 *err = TIPC_OK; 554 *err = TIPC_OK;
557 return true; 555 return true;