Driver for Intel Gigabit Ethernet controllers
Syntax:
io-pkt-variant -d e1000 [option[,option ...]] ...
where variant is v4-hc or
v6-hc.
Options:
Note:
Use commas, not spaces, to separate the options.
- did=0xXXXX
- Detect only devices with this specific PCI Device ID.
The default is automatically detected on supported hardware.
- duplex=0|1
- Half (0) or full (1) duplex mode. The default is automatically detected on supported hardware.
If you specify duplex, specify speed as well;
if duplex alone is specified, it is ignored and both speed and duplex are auto-negotiated.
You can also use ifconfig -m and
ifconfig wmX media to set this.
- force_link
- Force the link speed/duplex.
The default is to autonegotiate the advertised speed/duplex.
- int_mod=N
- The interrupt moderation value.
The default is 20000 interrupts/sec;
a value of zero disables interrupt moderation.
- irq=N
- IRQ of the interface. The default is automatically detected on supported hardware.
- mac=XXXXXXXXXXXX
- The MAC address of the controller.
The default is automatically detected on supported hardware.
- max_read=N
- The maximum PCIe read request size.
N must be 128, 256, 512, 1024, 2048, or 4096 bytes.
- mtu=N
- The maximum transmission unit. The default is 1514.
- nomulticast
- Disable the driver from sending or receiving multicast packets.
By default, multicast is enabled.
- pci=0xXXXX
- Detect only devices at this specific PCI index.
- priority=N
- The priority of the driver's event-handler thread (default 21).
- receive=num
- The number of receive descriptors; the default is 512, and the maximum is 4096.
- speed=N
- Set the link speed (specified in Mbits/second).
If you specify speed, specify duplex as well;
if speed alone is specified, the specified speed is correctly set,
but duplex defaults to half (0).
You can also use ifconfig -m and
ifconfig wmX media to set this.
- transmit=N
- The number of transmit descriptors; the default is 4096, as is the maximum.
- tx_reap=N
- The maximum number of transmit descriptors to reap.
The default is 64.
- verbose or verbose=num
- Be verbose.
Specify num for more verbosity (num can be 1-4;
the higher the number, the more detailed the output).
The output goes to
slogger2;
invoke
slog2info
to view it.
- vid=0xXXXX
- Detect only devices with this specific PCI Vendor ID.
Description:
The devnp-e1000.so driver manages all current Intel Gigabit devices.
Its interface names are in the form wmX, where
X is an integer.
Some devices support hardware checksums, although some might do so in
only one direction; to determine if your device does, type:
ifconfig wmX
and look for the following in the list of supported options:
- ip4csum, ip4csum-rx, ip4csum-tx
- tcp4csum, tcp4csum-rx, tcp4csum-tx
- tcp6csum, tcp6csum-rx, tcp6csum-tx
- udp4csum, udp4csum-rx, udp4csum-tx
- udp6csum, udp6csum-rx, udp6csum-tx
You can then use
ifconfig
to enable or disable whichever of these options your device supports.
Note:
The network drivers don't put entries
into the
/dev namespace, so a
waitfor
command for such an entry won't work properly in buildfiles or scripts.
Use
if_up -p
instead; for example,
if_up -p wm0.
The SQE (Squelch Test Errors) counter—one of the fields reported by
nicinfo—isn't applicable to
devnp-e1000.so, so this driver uses it in a non-standard way.
You can lose packets because:
- you ran out of descriptors (the NIC was able to buffer the packet,
but there was no CPU RAM available)
or:
- the NIC was unable to buffer the packet because it overran its internal Rx FIFO
Other drivers add the two together, but this driver uses the SQE counter
for internal Rx FIFO overruns, which generally indicate
excessive bus latency, perhaps misconfigured link-level flow control, or
even misconfigured Rx FIFO watermarks.
Examples:
Start io-pkt using the devnp-e1000.so driver
and the full TCP/IP stack:
io-pkt -d e1000
ifconfig wm0 192.168.0.10