Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Thursday, June 13, 2019
 
 

e1000g(4D)

Name

e1000g, e1000 - Intel PRO/1000 Gigabit family of network interface controllers

Synopsis

/dev/e1000g 

Description

The e1000g Gigabit Ethernet driver is a multi-threaded, loadable, clonable, GLD-based STREAMS driver supporting the Data Link Provider Interface, dlpi(4P), 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 initialization, 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(8) command line utility, which allows VLANs to be defined on top of e1000g instances and for e1000g instances to be aggregated. See dladm(8) 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:

  • Maximum SDU (with jumbo frame) is as high as 16298.

  • Minimum SDU is 0. The driver pads to the mandatory 60-octet minimum packet size.

  • The dlsap address length is 8.

  • MAC type is DL_ETHER.

  • The sap length value is −2, means that the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.

  • The broadcast address value is Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).

CONFIGURATION

The e1000g driver is managed by the dladm(8) command line utility.

By default, the e1000g driver performs auto-negotiation to select the link speed and mode. Link speed and mode can be any one of the following, as described in the IEEE 803.2 standard:

1000Mbps full duplex   
100Mbps full duplex    
100Mbps half duplex   
10Mbps full duplex     
10Mbps half duplex

Note - The link mode of 1000Mbps half duplex is not supported.

Forced link mode of 1000Mbps full duplex is not supported.

The e1000g driver does not support the use of shared RAM on the board.

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.

0255

Allowed values

0

Default

ForceSpeedDuplex

Specifies the speed and duplex mode for each instance.

If you set ForceSpeedDuplex=7,4, the e1000g0 is set to auto-negotiate 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 that 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 16298. To configure jumbo frames, use e1000g.conf. Using dladm(8) with the adapter instance and the mtu argument configures adapter 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 situations, 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. Multiple receive descriptors increase receive performance, but decrease available memory.

804096

Allowed values.

2048

Default. (MTU < 4010).

1024

Default. (MTU >= 4010).

NumTxDescriptors

Number of transmit descriptors available to the driver. Multiple transmit descriptors increase transmit performance, but decrease available memory.

804096

Allowed values.

2048

Default. (MTU < 4010).

1024

Default. (MTU >= 4010).

NumRxFreeList

Number of pre-allocated buffers that the driver can use for received data. Pre-allocating buffers can improve receive performance but decrease available memory.

604096

Allowed values.

4096

Default. (MTU < 4010).

2048

Default. (MTU >= 4010).

NumTxFreeList

Number of pre-allocated buffers that the driver can use for transmit data. Pre-allocating buffers can improve transmit performance but decrease available memory.

804096

Allowed values.

2304

Default. (MTU < 4010).

1152

Default. (MTU >= 4010).

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 realized by handling less interrupts.

01024

Allowed values.

32

Default.

Files

dev/e1000g

Character special device.

/kernel/drv/e1000g.conf

Driver configuration file.

/kernel/drv/sparcv9/e1000g

64–bit driver binary (SPARC).

/kernel/drv/amd64/e1000g

64–bit driver binary. (x86).

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
SPARC, x86

See Also

dlpi(4P), attributes(7), dladm(8), ifconfig(8), kstat(8), ping(8)

Intel PRO/1000 Gigabit Adapter Driver Installation Notes for Solaris

Writing Device Drivers in Oracle Solaris 11.4

STREAMS Programming Guide

Managing Network Virtualization and Network Resources in Oracle Solaris 11.4

Managing Network Datalinks in Oracle Solaris 11.4