e1000g(7D) Devices e1000g(7D)NAME
e1000g, e1000 - Intel PRO/1000 Gigabit family of network interface con‐
trollers
SYNOPSIS
/dev/e1000g
DESCRIPTION
The e1000g Gigabit Ethernet driver is a multi-threaded, loadable, clon‐
able, GLD-based STREAMS driver supporting the Data Link Provider Inter‐
face, dlpi(7P), over Intel PRO/1000 family of Gigabit controllers. This
driver supports multiple Intel Gigabit controllers installed within the
system. The e1000g driver provides basic support including chip ini‐
tialization, frame transmit and receive, multicast support, and error
recovery and reporting.
APPLICATION PROGRAMMING INTERFACE
The cloning, character-special device /dev/e1000g is used to access all
Intel Gigabit devices installed within the system.
The e1000g driver is managed by the dladm(1M) command line utility,
which allows VLANs to be defined on top of e1000g instances and for
e1000g instances to be aggregated. See dladm(1M) for more details.
You must send an explicit DL_ATTACH_REQ message to associate the opened
stream with a particular device (PPA). The PPA ID is interpreted as an
unsigned integer data type and indicates the corresponding device
instance (unit) number. The driver returns an error (DL_ERROR_ACK) if
the PPA field value does not correspond to a valid device instance
number.
The values returned by the driver in the DL_INFO_ACK primitive in
response to the DL_INFO_REQ are as follows:
o Maximum SDU (with jumbo frame) is as high as 16128.
o Minimum SDU is 0. The driver pads to the mandatory 60-octet
minimum packet size.
o The dlsap address length is 8.
o MAC type is DL_ETHER.
o The sap length value is −2, meaning the physical address
component is followed immediately by a 2-byte sap component
within the DLSAP address.
o The broadcast address value is Ethernet/IEEE broadcast
address (FF:FF:FF:FF:FF:FF).
CONFIGURATION
The e1000g driver does not support the use of shared RAM on the board.
To configure the e1000g driver:
o Use prtconf -v | grep pci8086,[12][01][01][0-F] to obtain
the instance number of the driver.
o Use ifconfig e1000ginstance plumb to plumb the controller.
o Use ifconfig e1000ginstance inet ip_address netmask + broad‐
cast + -trailers up to bring up the interface.
o Use the ping(1M) command to contact interfaces on the net‐
work to verify that the configuration is operational.
Configuration File Options
The following e1000g.conf configuration options are supported:
AutoNegAdvertised
This is a bitmap for the speeds advertised during auto-negotiation.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Setting| N/A | N/A | 1000F | N/A | 100F | 100H | 10F | 10H
The adapter only auto-negotiates to a speed that is advertised. For
example: AutoNegAdvertised = 4 causes an adapter to only advertise
auto-negotiation at 100 Mbps, full duplex. No other link speeds are
accepted or given during auto-negotiation. AutoNegAdvertised=47
advertises all speeds available, This is the same as using the
default setting of 0.
0-255 Allowed values
0 Default
ForceSpeedDuplex
Specify the speed and duplex mode for each instance.
If you set ForceSpeedDuplex=7,4, the e1000g0 is set to auto-negoti‐
ate and e1000g1 is set to 100 Mbps, full duplex. Note that fiber
optic ethernet adapters ignore this setting.
Allowed values are:
1 10 Megabits per second, Half Duplex.
2 10 Megabits per second, Full Duplex.
3 100 Megabits per second, Half Duplex.
4 100 Megabits per second, Full Duplex.
7 Auto-negotiate speed and duplex. (Default).
MaxFrameSize
Upper limit on the maximum MTU size the driver allows. All Intel
gigabit adapters (except the 82542-based Intel PRO/1000 adapter)
allow the configuration of jumbo frames.
For an Intel PRO/1000 adapter that is later than 82571, (including
82571), the maximum MTU accepted by the MAC is 9216. For others,
the maximum MTU accepted by the MAC is 16128. Use ifconfig(1M) to
configure jumbo frames. Use ifconfig with the adapter instance and
the mtu argument (ifconfig e1000g0 mtu 9216) to configure adapter
e1000g0 for the maximum allowable jumbo frame size.
Allowed values are:
0 Standard ethernet frames with a MTU equal to 1500. Default.
1 Jumbo frames with a maximum MTU of 4010.
2 Jumbo frames with a maximum MTU of 8106.
3 Jumbo frames with a maximum MTU of 16298.
FlowControl
Flow control utilizes ethernet XON and unicast and multicast XOFF
packets to allow ethernet equipment to slow down the stream of data
between two ethernet devices.
Allowed values are:
0 Disable. Packets can get dropped in high-throughput situa‐
tions, leading to reduced network performance.
1 Receive only.
2 Transmit only.
3 Receive and transmit. (Default).
4 Use adapter's EEPROM-programmed factory default setting.
TbiCompatibilityEnable
You must enable this feature on Intel 82543CG-based copper adapters
to operate correctly with TBI mode ethernet hardware.
Allowed values are:
0 Disable.
1 Enable. (Default).
SetMasterSlave
Controls the PHY master/slave setting. Manually forcing master or
slave can reduce time needed to link with Planex 08TX and IO data
switches. This setting should remain as the hardware default.
Allowed values are:
0 Hardware default. (Default).
1 Force master.
2 Force slave.
3 Force auto.
By default, the following configuration options are not displayed in
the e1000g.conf file. Although they are configurable, you should not
change these options:
NumRxDescriptors Number of available receive descriptors. Multi‐
ple receive descriptors increase receive per‐
formance, but decrease available memory.
80-4096 Allowed values.
1024 Default.
NumTxDescriptors Number of transmit descriptors available to the
driver. Mulitiple transmit descriptors increase
transmit performance, but decrease available
memory.
80-4096 Allowed values.
1024 Default.
NumRxFreeList Number of pre-allocated buffers that the driver
can use for received data. Pre-allocating buf‐
fers can improve receive performance but
decrease available memory.
60-4096 Allowed values.
1024 Default.
MaxNumReceivePackets Maximum number of receive packets that the
driver can handle for each interrupt.
CPU utilization can be lowered through more
efficient interrupt management. If this value
is increased, the time needed by the CPU to
process the individual interrupts increases,
thereby nullifying any performance gains real‐
ized by handling less interrupts.
0-1024 Allowed values.
32 Default.
TxInterruptDelay Amount of time (in 1.024 micro second units)
between the time transmit data is queued in a
transmit descriptor and the transmit interrupt
is sent.
0-65535 Allowed values. A value of 0 com‐
pletely dis- ables any transmit
interrupt delay. Some delay is
benefical in reducing CPU utiliza‐
tion by the driver.
300 Default.
Note: The configuration options in
e1000g.conf are limited to one value
per interface.
Configuration Options Using ndd(1M)
In addition to the e1000g.conf file, you can also use the ndd(1M) com‐
mand to configure the e1000g driver.
To view supported ndd parameters, do the following step:
# ndd -get /dev/e1000g0 ?
Using ndd(1M), you can set the link speed/duplex using the advertised
capability parameters supported by the e1000g device. Each parameter
contains a boolean value that determines if the device advertises that
mode of operation. The adv_autoneg_cap parameter controls auto-negotia‐
tion. When adv_autoneg_cap is set to 1, auto-negotiation is performed
and the link speed/duplex is auto-negotiated to the mode determined by
the first non-zero parameter in priority order as listed below:
adv_1000fdx_cap 1000Mbps full duplex
adv_100fdx_cap 100Mpbs full duplex
adv_100hdx_cap 100Mpbs half duplex
adv_10fdx_cap 10Mpbs full duplex
adv_10hdx_cap 10Mpbs half duplex
When adv_autoneg_cap is set to 0, the link speed/duplex is forced to
the mode specified by force_speed_duplex. The valid values of
force_speed_duplex and the corresponding modes are:
1 10Mpbs half duplex
2 10Mpbs full duplex
3 100Mpbs half duplex
4 100Mpbs full duplex
Note: Forced 1000Mbps full duplex is not supported.
FILES
dev/e1000g Character special device.
/kernel/drv/e1000g.conf Driver configuration file.
/kernel/drv/sparcv9/e1000g SPARC e1000g driver binary.
/kernel/drv/e1000g x86 e1000g driver binary (32-bit ).
/kernel/drv/amd64/e1000g x86 e1000g driver binary (64-bit ).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │SPARC, X86 │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOdladm(1M), ifconfig(1M), kstat(1M), ndd(1M), ping(1M), attributes(5),
dlpi(7P)
Intel PRO/1000 Gigabit Adapter Driver Installation Notes for Solaris
Writing Device Drivers
STREAMS Programming Guide
Network Interfaces Guide
SunOS 5.10 13 Jul 2009 e1000g(7D)