kernel_optimize_test/drivers/net
Herbert Xu 7967168cef [NET]: Merge TSO/UFO fields in sk_buff
Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not
going to scale if we add any more segmentation methods (e.g., DCCP).  So
let's merge them.

They were used to tell the protocol of a packet.  This function has been
subsumed by the new gso_type field.  This is essentially a set of netdev
feature bits (shifted by 16 bits) that are required to process a specific
skb.  As such it's easy to tell whether a given device can process a GSO
skb: you just have to and the gso_type field and the netdev's features
field.

I've made gso_type a conjunction.  The idea is that you have a base type
(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.
For example, if we add a hardware TSO type that supports ECN, they would
declare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would
have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO
packets would be SKB_GSO_TCPV4.  This means that only the CWR packets need
to be emulated in software.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 02:07:29 -07:00
..
appletalk
arcnet
arm [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
bonding [NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM 2006-06-17 22:06:05 -07:00
chelsio [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
cris
e1000 [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
fec_8xx
fs_enet
hamradio [NET]: Add netif_tx_lock 2006-06-17 21:30:14 -07:00
ibm_emac
irda [IRDA]: irda-usb.c: STIR421x cleanups 2006-06-17 21:30:26 -07:00
ixgb [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
ixp2000
myri10ge [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
pcmcia [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
sk98lin [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
skfp
tokenring [PATCH] Dereference in tokenring/olympic.c 2006-06-22 23:24:18 -04:00
tulip Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2006-06-19 19:07:12 -07:00
wan [PATCH] WAN: ioremap() failure checks in drivers 2006-06-22 23:32:03 -04:00
wireless [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
3c59x.c [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
3c501.c [PATCH] 3c5zz ethernet: fix section warnings 2006-06-11 12:16:01 -04:00
3c501.h
3c503.c [PATCH] 3c5zz ethernet: fix section warnings 2006-06-11 12:16:01 -04:00
3c503.h
3c505.c [PATCH] 3c5zz ethernet: fix section warnings 2006-06-11 12:16:01 -04:00
3c505.h
3c507.c [PATCH] 3c5zz ethernet: fix section warnings 2006-06-11 12:16:01 -04:00
3c509.c
3c515.c
3c523.c [PATCH] 3c5zz ethernet: fix section warnings 2006-06-11 12:16:01 -04:00
3c523.h
3c527.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
3c527.h
7990.c
7990.h
8139cp.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
8139too.c
8390.c [PATCH] skb_padto()-area fixes in 8390, wavelan 2006-06-22 23:32:02 -04:00
8390.h
82596.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
a2065.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
ariadne.h
at1700.c
atari_bionet.c
atari_pamsnet.c
atarilance.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
atp.c
atp.h
au1000_eth.c [PATCH] net: au1000_eth: PHY framework conversion 2006-06-11 23:19:00 -04:00
au1000_eth.h [PATCH] net: au1000_eth: PHY framework conversion 2006-06-11 23:19:00 -04:00
b44.c [PATCH] b44: update version to 1.01 2006-06-22 23:16:13 -04:00
b44.h [PATCH] b44: add wol for old nic 2006-06-22 23:16:13 -04:00
bmac.c
bmac.h
bnx2_fw.h [BNX2]: Use compressed firmware 2006-06-17 21:30:47 -07:00
bnx2.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
bnx2.h [BNX2]: Use CPU native page size 2006-06-17 21:30:49 -07:00
bsd_comp.c
cassini.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
defxx.c
defxx.h
depca.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c e100: add PCI Error Recovery 2006-06-08 09:30:18 -07:00
e2100.c
eepro100.c
eepro.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
eexpress.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
eexpress.h
epic100.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
eql.c
es3210.c
eth16i.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
forcedeth.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c
gianfar.h
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c
hp100.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
hp100.h
hp-plus.c [PATCH] hp ethernet: fix section mismatches 2006-06-11 12:16:01 -04:00
hp.c [PATCH] hp ethernet: fix section mismatches 2006-06-11 12:16:01 -04:00
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
ibmveth.h
ifb.c [NET]: Add netif_tx_lock 2006-06-17 21:30:14 -07:00
ioc3-eth.c [PATCH] IP27: Really set PCI64_ATTR_VIRTUAL, not PCI64_ATTR_PREC. 2006-06-22 22:52:35 -04:00
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-06-22 22:15:09 -07:00
lance.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
lasi_82596.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
LICENSE.SRC
lne390.c
loopback.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
lp486e.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
mac89x0.c
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c
Makefile [PATCH] network driver for Hilscher netx 2006-06-22 23:28:05 -04:00
meth.c
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c [NET]: Clean up skb_linearize 2006-06-17 21:30:16 -07:00
mv643xx_eth.h
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [NET]: Add netif_tx_lock 2006-06-17 21:30:14 -07:00
ne2.c [PATCH] Section mismatch in drivers/net/ne.o during modpost 2006-06-11 12:16:01 -04:00
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c [PATCH] Section mismatch in drivers/net/ne.o during modpost 2006-06-11 12:16:01 -04:00
netconsole.c [NETCONSOLE]: Clean up initcall warning. 2006-06-05 15:04:37 -07:00
netx-eth.c [PATCH] network driver for Hilscher netx 2006-06-22 23:28:05 -04:00
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
oaknet.c
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c [NET] ppp: Remove unnecessary pskb_may_pull 2006-06-17 21:30:18 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c [PPPOE]: Missing result check in __pppoe_xmit(). 2006-06-05 15:34:33 -07:00
pppox.c
r8169.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
s2io.h
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
seeq8005.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c
sis190.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
sis900.c
sis900.h
sk_mca.c
sk_mca.h
skge.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
skge.h [PATCH] skge: transmit complete via IRQ not NAPI 2006-06-08 15:44:54 -04:00
sky2.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
sky2.h
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-20 14:49:00 -07:00
smc911x.c
smc911x.h
smc9194.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
smc9194.h
smc-mca.c
smc-ultra32.c [PATCH] smc ethernet: fix section mismatch warnings 2006-06-11 12:16:01 -04:00
smc-ultra.c [PATCH] smc ethernet: fix section mismatch warnings 2006-06-11 12:16:01 -04:00
sonic.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c sundance: PCI ID for ip100a 2006-06-15 23:02:00 +02:00
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
sunhme.h
sunlance.c [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
sunqe.c
sunqe.h
tc35815.c
tg3.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
tg3.h [TG3]: Convert to non-LLTX 2006-06-17 21:58:45 -07:00
tlan.c
tlan.h
tun.c
typhoon-firmware.h
typhoon.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
typhoon.h
via-rhine.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
via-velocity.c via-velocity: the link is not correctly detected when the device starts 2006-06-23 01:18:35 +02:00
via-velocity.h
wd.c
yellowfin.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
znet.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
zorro8390.c