net: introduce skb_try_coalesce()
authorEric Dumazet <edumazet@google.com>
Sat, 19 May 2012 03:02:02 +0000 (03:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 May 2012 22:34:57 +0000 (18:34 -0400)
commitbad43ca8325f493dcaa0896c2f036276af059c7e
treeee27a3b3eeef928f22cd500a32a23e4db60a5584
parent3dde25988292864a582b4a9389b1ae835aa3fe80
net: introduce skb_try_coalesce()

Move tcp_try_coalesce() protocol independent part to
skb_try_coalesce().

skb_try_coalesce() can be used in IPv4 defrag and IPv6 reassembly,
to build optimized skbs (less sk_buff, and possibly less 'headers')

skb_try_coalesce() is zero copy, unless the copy can fit in destination
header (its a rare case)

kfree_skb_partial() is also moved to net/core/skbuff.c and exported,
because IPv6 will need it in patch (ipv6: use skb coalescing in
reassembly).

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
net/core/skbuff.c
net/ipv4/tcp_input.c