linux/net
Herbert Xu 73cc19f155 ipv4: Add GRO infrastructure
This patch adds GRO support for IPv4.

The criteria for merging is more stringent than LRO, in particular,
we require all fields in the IP header to be identical except for
the length, ID and checksum.  In addition, the ID must form an
arithmetic sequence with a difference of one.

The ID requirement might seem overly strict, however, most hardware
TSO solutions already obey this rule.  Linux itself also obeys this
whether GSO is in use or not.

In future we could relax this rule by storing the IDs (or rather
making sure that we don't drop them when pulling the aggregate
skb's tail).

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-15 23:41:09 -08:00
..
9p net: remove redundant argument comments 2008-11-21 17:15:03 -08:00
802 hippi: convert driver to net_device_ops 2008-11-20 20:32:15 -08:00
8021q vlan: convert to net_device_ops 2008-11-19 22:42:41 -08:00
appletalk netdevice: safe convert to netdev_priv() #part-4 2008-11-12 23:39:10 -08:00
atm netdevice: Kill netdev->priv 2008-12-08 01:14:16 -08:00
ax25 ax25: join the return paths that free skb 2008-12-14 23:17:26 -08:00
bluetooth bt/rfcomm/tty: join error paths 2008-12-14 23:18:00 -08:00
bridge Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2008-11-28 02:19:15 -08:00
can can: merge error paths 2008-12-14 23:16:58 -08:00
core net: Add Generic Receive Offload infrastructure 2008-12-15 23:38:52 -08:00
dcb net: fix dcbnl_setnumtcs operation check 2008-12-15 01:06:23 -08:00
dccp dccp ccid-2: Phase out the use of boolean Ack Vector sysctl 2008-12-08 01:19:06 -08:00
decnet net: Make static 2008-12-10 15:18:31 -08:00
dsa net: Make static 2008-12-10 15:18:31 -08:00
econet
ethernet eth: Declare an optimized compare_ether_addr_64bits() function 2008-11-23 23:24:32 -08:00
ipv4 ipv4: Add GRO infrastructure 2008-12-15 23:41:09 -08:00
ipv6 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
ipx net: '&' redux 2008-11-03 18:21:05 -08:00
irda irda: merge exit paths 2008-12-14 23:18:30 -08:00
iucv
key netns PF_KEY: per-netns /proc/pfkey 2008-11-25 17:59:00 -08:00
lapb
llc net: remove redundant argument comments 2008-11-21 17:15:03 -08:00
mac80211 mac80211: misc cleanups 2008-12-12 14:45:27 -05:00
netfilter Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
netlabel Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
netlink netlink: allow empty nested attributes 2008-11-28 03:05:19 -08:00
netrom net: '&' redux 2008-11-03 18:21:05 -08:00
packet net: Make sure BHs are disabled in sock_prot_inuse_add() 2008-11-24 00:09:29 -08:00
phonet Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
rfkill rfkill: strip pointless notifier chain 2008-12-12 14:45:25 -05:00
rose Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-26 23:48:40 -08:00
rxrpc net: Make static 2008-12-10 15:18:31 -08:00
sched Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
sctp sctp: fix missing label when PROC_FS=n 2008-11-27 15:30:53 -08:00
sunrpc Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-15 20:03:50 -08:00
tipc tipc: trivial endian annotation in debug statement 2008-11-07 23:37:50 -08:00
unix Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-02 19:50:27 -08:00
wanrouter netdevice wanrouter: Convert directly reference of netdev->priv 2008-11-20 04:26:21 -08:00
wireless mac80211/cfg80211: check endianness in sparse runs 2008-12-12 14:01:35 -05:00
x25 net: '&' redux 2008-11-03 18:21:05 -08:00
xfrm xfrm: join error paths 2008-12-14 23:16:22 -08:00
Kconfig net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename 2008-11-21 11:08:18 -05:00
Makefile DCB: fix kconfig option 2008-11-25 01:02:08 -08:00
TUNABLE
compat.c reintroduce accept4 2008-11-19 18:49:57 -08:00
nonet.c
socket.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-20 16:44:00 -08:00
sysctl_net.c