e1000(4)

MILESTONE-QUALIFIED Rendered from the page's mdoc source at milestone/general-usability-qemu-20260927 (platform ff025b1) with GNU groff version 1.23.0, using the same command the image build uses; an ABSD session running man 4 e1000 prints this text. It is dated 2026-09-27; the build commands and repository files it mentions are in private sources, and later work is not in it. All pages.

E1000(4)                    Kernel Interfaces Manual                  E1000(4)

NAME
       e1000 -- Intel 82540EM Ethernet driver

DESCRIPTION
       The e1000 driver in the kernel drives one Intel 82540EM network
       controller (PCI vendor 8086, device 100e), the model QEMU emulates as
       `-device e1000'.  It is probed only when the boot command line carries
       the `net' option; every other boot leaves network devices untouched.

       The driver resets the controller, masks all its interrupts, reads the
       MAC address from receive address 0 (refusing a controller that does not
       mark it valid), and waits a bounded time for link up.  It keeps one
       receive ring of 32 and one transmit ring of 16 descriptors, each with a
       2 KiB buffer in kernel memory, and polls them on the kernel's tick; it
       uses no interrupts.

       The kernel moves whole Ethernet frames, 14 to 1514 bytes, and nothing
       else.  Exactly one process holds the network card's handle: in the
       qualified boot, the SSH server.  The TCP/IP stack runs inside that
       process (smoltcp): static IPv4 only, 10.0.2.15/24 with gateway
       10.0.2.2, answering ARP, ICMP echo, and TCP.  There are no kernel
       sockets, no IPv6, UDP, DNS, or DHCP, and no outbound client on the
       system.

       Everything the device writes is treated as untrusted.  A received frame
       is delivered only if its descriptor is complete, holds the whole frame,
       reports no error, and has a length in range; anything else is counted
       as refused and dropped.  If the device moves a ring pointer outside its
       ring, or a send does not complete in time, the driver disables the
       controller: receiving and sending stop, and every later request fails.

DIAGNOSTICS
       On the serial console:

       `NIC CONTROLLER pci=BB:DD.F vendor=8086 device=100e mac=...'
               the controller was found.

       `NETWORK LINK OK rx_descriptors=32 tx_descriptors=16 buffer_bytes=2048'
               the link is up and the rings are ready.

       `NIC UNAVAILABLE reason'
               no usable controller; nothing is given out and a `net' boot
               fails.

       `NIC DISABLED reason=reason'
               the driver stopped the controller (fail closed).

       `NIC STATS rx_frames=... rx_refused=... rx_missed=... tx_frames=...'
               counters at the end of the boot.

QUALIFICATION
       QEMU-qualified on the 82540EM model (`-device e1000') by the platform's
       network, SSH, and file server matrices.  Physical hardware
       qualification: none.  The Ethernet controllers in current laptops
       (Intel I219, I225) are different devices and are not supported.

SEE ALSO
       afterboot(8)

       In the kernel repository: docs/NETWORK.md.

CAVEATS
       Polling on the tick adds up to a millisecond of receive latency, and a
       burst faster than 32 descriptors drain between ticks is dropped
       (counted as `rx_missed'; TCP resends it).  No multicast filters,
       checksum or segmentation offload, or VLANs.  The address is compiled
       in; it cannot be configured yet.

ABSD                          September 27, 2026                      E1000(4)

All manual pages