Driver for Intel Gigabit Ethernet controllers
io-pkt-variant -d e1000 [option[,option ...]] ... &
where variant is one of v4, v4-hc, or
v6-hc.
Neutrino
|
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.
- 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.
- 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.
- pauseignore
- Ignore pause frames with respect to full duplex flow control.
- pausesuppress
- Suppress pause frames with respect to full duplex flow control.
- 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 64.
- speed=N
- Force 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 128.
- verbose
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
slogger;
invoke
sloginfo
to view it.
- vid=0xXXXX
- Detect only devices with this specific PCI Vendor ID.
The devnp-e1000.so driver manages all current Intel Gigabit devices.
This is a native io-pkt driver;
its interface names are in the form wmX, where
X is an integer.
The devnp-e1000.so and
devnp-i82544.so
drivers are similar:
- devnp-i82544.so has performance
optimizations (TSO and interrupt thresholding options) that
may make it a better performing candidate for some hardware
- devnp-e1000.so likely supports more hardware
|
If the device enumerators (see
enum-devices)
don't recognize your device, try explicitly specifying
the device ID with the did option when you start the driver. |
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.
|
Native io-pkt and ported NetBSD drivers don't put entries
into the /dev/io-net namespace, so a
waitfor
command for such an entry won't work properly in buildfiles or scripts.
Use
if_up -p
instead; for example, instead of waitfor /dev/io-net/wm0, use
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.
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
devn-*,
devnp-*,
ifconfig,
io-pkt,
nicinfo