david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/drivers/net
Stefan Hajnoczi e4419ff97c [virtio] Replace virtio-net with native iPXE driver
This patch adds a native iPXE virtio-net driver and removes the legacy
Etherboot virtio-net driver.  The main reasons for doing this are:

1. Multiple virtio-net NICs are now supported by iPXE.  The legacy
   driver kept global state and caused issues in virtual machines with
   more than one virtio-net device.

2. Faster downloads.  The native iPXE driver downloads 100 MB over
   HTTP in 12s, the legacy Etherboot driver in 37s.  This simple
   benchmark uses KVM with tap networking and the Python
   SimpleHTTPServer both running on the same host.

Changes to core virtio code reduce vring descriptors to 256 (QEMU uses
128 for virtio-blk and 256 for virtio-net) and change the opaque token
from u16 to void*.  Lowering the descriptor count reduces memory
consumption.  The void* opaque token change makes driver code simpler.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-07-17 17:07:14 +01:00
..
ath5k [compiler] Fix 64bit compile time errors 2010-05-27 10:23:06 +01:00
e1000 [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
e1000e [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
efi [efi] Add the "snpnet" driver 2010-06-02 15:15:29 +01:00
igb [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
phantom [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
rtl818x [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
vxge [ethernet] Move Ethernet MAC address checking routines to ethernet.h 2010-06-07 15:21:04 +01:00
3c5x9.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c90x.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c90x.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c503.c [ns8390] Use stub files instead of src/Config 2008-06-30 12:26:12 -07:00
3c509-eisa.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c509.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c509.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
3c515.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c515.txt Initial revision 2005-03-08 18:53:11 +00:00
3c529.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c595.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
3c595.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
amd8111e.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
amd8111e.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
atl1e.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
atl1e.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
b44.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
b44.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
bnx2_fw.h Ported bnx2 driver from Etherboot 5.4. 2007-03-13 23:03:50 +00:00
bnx2.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
bnx2.h [ethernet] Update mii.h and use it in drivers that had a private copy 2009-05-26 11:30:31 +01:00
cs89x0.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
cs89x0.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
cs89x0.txt ]Drivers] Update licensing for cs89x0.[ch] and cs89x0.txt 2008-03-18 22:31:26 -04:00
davicom.c [davicom] Use iPXE debugging infrastructure 2010-07-14 12:28:26 +01:00
depca.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
dmfe.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
eepro100.c [eepro100] Add PCI ID for Intel Pro/100 VE 2010-06-07 11:47:19 +01:00
eepro100.h [eepro100] Remove link-state checking 2010-04-19 10:42:42 -04:00
eepro.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
epic100.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
epic100.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
etherfabric_nic.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
etherfabric.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
etherfabric.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
forcedeth.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
hfa384x.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
ipoib.c [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
jme.c [jme] Fix 64-bit compile of JMicron ethernet driver 2010-06-22 11:25:17 +01:00
jme.h [jme] Add JMicron Ethernet driver 2010-06-02 15:44:07 +01:00
legacy.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
mtd80x.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
mtnic.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
mtnic.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
myri10ge_mcp.h [myri10ge] Native driver for Myricom 10Gb Ethernet NICs 2010-01-14 10:32:40 -05:00
myri10ge.c [myri10ge] Add NonVolatile Option (nvo) support 2010-06-24 23:36:58 +01:00
natsemi.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
natsemi.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
ne2k_isa.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
ne.c [ns8390] Use stub files instead of src/Config 2008-06-30 12:26:12 -07:00
ns8390.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
ns8390.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
ns83820.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
p80211hdr.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
pcnet32.c [pcnet32] Fix pcnet32_wio_reset() bug 2010-07-11 15:53:22 +01:00
pcnet32.h [pcnet32] Replace pcnet32 with native driver 2010-06-22 11:28:01 +01:00
pnic_api.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
pnic.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
prism2_pci.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
prism2_plx.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
prism2.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
r8169.c [r8169] Remove driver cfg lookup, use pci_device_id->driver_data instead 2010-06-23 01:06:29 +01:00
r8169.h [r8169] Remove driver cfg lookup, use pci_device_id->driver_data instead 2010-06-23 01:06:29 +01:00
rtl8139.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
sis190.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
sis190.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
sis900.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
sis900.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
skge.c [compiler] Fix 64bit compile time errors 2010-05-27 10:23:06 +01:00
skge.h [compiler] Fix 64bit compile time errors 2010-05-27 10:23:06 +01:00
sky2.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
sky2.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
smc9000.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
smc9000.h [ethernet] Update mii.h and use it in drivers that had a private copy 2009-05-26 11:30:31 +01:00
sundance.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
tg3.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
tg3.h [ethernet] Update mii.h and use it in drivers that had a private copy 2009-05-26 11:30:31 +01:00
tlan.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
tlan.h [ethernet] Update mii.h and use it in drivers that had a private copy 2009-05-26 11:30:31 +01:00
tulip.c [tulip] Use iPXE debugging infrastructure 2010-07-14 12:28:26 +01:00
tulip.txt Update email addresses in drivers 2007-06-09 15:23:17 -04:00
via-rhine.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
via-velocity.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
via-velocity.h Modify gPXE core and drivers to work with the new timer subsystem 2008-03-02 03:41:10 +03:00
virtio-net.c [virtio] Replace virtio-net with native iPXE driver 2010-07-17 17:07:14 +01:00
virtio-net.h [virtio] Add legacy driver for KVM virtio-net 2008-08-01 16:55:49 +01:00
w89c840.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
wd.c [ns8390] Use stub files instead of src/Config 2008-06-30 12:26:12 -07:00
wlan_compat.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00