tipc: Optimize routing of returned payload messages
Reduces the work involved in transmitting a returned payload message by doing only the work necessary to route such a message directly to the specified destination port, rather than invoking the code used to route an arbitrary message to an arbitrary destination. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
This commit is contained in:
parent
76d12527f7
commit
017dac31dc
|
@ -360,6 +360,7 @@ int tipc_reject_msg(struct sk_buff *buf, u32 err)
|
|||
int hdr_sz;
|
||||
u32 imp = msg_importance(msg);
|
||||
u32 data_sz = msg_data_sz(msg);
|
||||
u32 src_node;
|
||||
|
||||
if (data_sz > MAX_REJECT_SIZE)
|
||||
data_sz = MAX_REJECT_SIZE;
|
||||
|
@ -416,7 +417,11 @@ int tipc_reject_msg(struct sk_buff *buf, u32 err)
|
|||
|
||||
/* send returned message & dispose of rejected message */
|
||||
|
||||
tipc_net_route_msg(rbuf);
|
||||
src_node = msg_prevnode(msg);
|
||||
if (src_node == tipc_own_addr)
|
||||
tipc_port_recv_msg(rbuf);
|
||||
else
|
||||
tipc_link_send(rbuf, src_node, msg_link_selector(rmsg));
|
||||
exit:
|
||||
buf_discard(buf);
|
||||
return data_sz;
|
||||
|
|
Loading…
Reference in New Issue