diff options
author | Allan Stephens <Allan.Stephens@windriver.com> | 2011-04-21 10:42:07 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-05-10 16:03:57 -0400 |
commit | 2689690469c9fd76f9db0afcdf2523f48cce4006 (patch) | |
tree | 73d23b37b9e4ad965f893857aa618b0ed110bdf7 /net/tipc/link.h | |
parent | c29c3f70c9eb6f18090da5af9dbe9dcb4adece8c (diff) | |
download | linux-stable-2689690469c9fd76f9db0afcdf2523f48cce4006.tar.gz linux-stable-2689690469c9fd76f9db0afcdf2523f48cce4006.tar.bz2 linux-stable-2689690469c9fd76f9db0afcdf2523f48cce4006.zip |
tipc: Avoid recomputation of outgoing message length
Rework TIPC's message sending routines to take advantage of the total
amount of data value passed to it by the kernel socket infrastructure.
This change eliminates the need for TIPC to compute the size of outgoing
messages itself, as well as the check for an oversize message in
tipc_msg_build(). In addition, this change warrants an explanation:
- res = send_packet(NULL, sock, &my_msg, 0);
+ res = send_packet(NULL, sock, &my_msg, bytes_to_send);
Previously, the final argument to send_packet() was ignored (since the
amount of data being sent was recalculated by a lower-level routine)
and we could just pass in a dummy value (0). Now that the
recalculation is being eliminated, the argument value being passed to
send_packet() is significant and we have to supply the actual amount
of data we want to send.
Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'net/tipc/link.h')
-rw-r--r-- | net/tipc/link.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/tipc/link.h b/net/tipc/link.h index e6a30dbe1aaa..74fbecab1ea0 100644 --- a/net/tipc/link.h +++ b/net/tipc/link.h @@ -228,6 +228,7 @@ u32 tipc_link_get_max_pkt(u32 dest, u32 selector); int tipc_link_send_sections_fast(struct tipc_port *sender, struct iovec const *msg_sect, const u32 num_sect, + unsigned int total_len, u32 destnode); void tipc_link_recv_bundle(struct sk_buff *buf); int tipc_link_recv_fragment(struct sk_buff **pending, |