]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitecb15bda47391beb339b7da9dea9a1aba878fc17
treeee27a3b3eeef928f22cd500a32a23e4db60a5584
parent4f0be2910849a1aa8c21c66db809210ee5f60a4e
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