mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 22:51:37 +00:00
tipc: introduce new tipc_sk_respond() function
Currently, we use the code sequence if (msg_reverse()) tipc_link_xmit_skb() at numerous locations in socket.c. The preparation of arguments for these calls, as well as the sequence itself, makes the code unecessarily complex. In this commit, we introduce a new function, tipc_sk_respond(), that performs this call combination. We also replace some, but not yet all, of these explicit call sequences with calls to the new function. Notably, we let the function tipc_sk_proto_rcv() use the new function to directly send out PROBE_REPLY messages, instead of deferring this to the calling tipc_sk_rcv() function, as we do now. Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
29042e19f2
commit
bcd3ffd4f6
3 changed files with 47 additions and 39 deletions
|
@ -469,7 +469,7 @@ bool tipc_msg_make_bundle(struct sk_buff **skb, struct tipc_msg *msg,
|
|||
* Consumes buffer at failure
|
||||
* Returns true if success, otherwise false
|
||||
*/
|
||||
bool tipc_msg_reverse(u32 own_node, struct sk_buff **skb, u32 *dnode, int err)
|
||||
bool tipc_msg_reverse(u32 own_node, struct sk_buff **skb, int err)
|
||||
{
|
||||
struct sk_buff *_skb = *skb;
|
||||
struct tipc_msg *hdr = buf_msg(_skb);
|
||||
|
@ -508,7 +508,6 @@ bool tipc_msg_reverse(u32 own_node, struct sk_buff **skb, u32 *dnode, int err)
|
|||
msg_set_prevnode(hdr, own_node);
|
||||
msg_set_orignode(hdr, own_node);
|
||||
msg_set_size(hdr, msg_hdr_sz(hdr) + dlen);
|
||||
*dnode = msg_destnode(hdr);
|
||||
skb_trim(_skb, msg_size(hdr));
|
||||
skb_orphan(_skb);
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue