Print this page
13071 igb(7D) needs to mention it's GLDv3, not STREAMS
Change-Id: Ib06c11b0fa59bfe7383aaac5a3f791cc740d99c4
@@ -1,161 +1,78 @@
IGB(7D) Devices IGB(7D)
-
-
NAME
- igb - Intel 82575 1Gb PCI Express NIC Driver
+ igb - Intel 1 GbE Server NIC Driver
SYNOPSIS
- /dev/igb*
+ /dev/net/igb*
-
DESCRIPTION
- The igb Gigabit Ethernet driver is a multi-threaded, loadable,
- clonable, GLD-based STREAMS driver supporting the Data Link Provider
- Interface, dlpi(7P), on Intel 82575 Gigabit Ethernet controllers.
+ The igb driver is a GLDv3 NIC driver for Intel 1 Gigabit Ethernet PCIe
+ controllers which are built-in to motherboards and discrete PCIe devices.
+ The driver supports the following device families:
- The igb driver functions include controller initialization, frame
- transmit and receive, promiscuous and multicast support, and error
- recovery and reporting.
+ - Intel 82575 Gigabit Ethernet Controller
+ - Intel 82576 Gigabit Ethernet Controller
- The igb driver and hardware support auto-negotiation, a protocol
- specified by the 1000 Base-T standard. Auto-negotiation allows each
- device to advertise its capabilities and discover those of its peer
- (link partner). The highest common denominator supported by both
- link partners is automatically selected, yielding the greatest
- available throughput, while requiring no manual configuration. The igb
- driver also allows you to configure the advertised capabilities to less
- than the maximum (where the full speed of the interface is not
- required), or to force a specific mode of operation, irrespective of
- the link partner's advertised capabilities.
+ - Intel 82580 Gigabit Ethernet Controller
-APPLICATION PROGRAMMING INTERFACE
- The cloning character-special device, /dev/igb, is used to access all
- Intel 82575 Gigabit devices installed within the system.
+ - Intel Ethernet Controller I210
+ - Intel Ethernet Controller I211
- The igb driver is managed by the dladm(1M) command line utility,
- which allows VLANs to be defined on top of igb instances and for igb
- instances to be aggregated. See dladm(1M) for more details.
+ - Intel Ethernet Controller I350
+ Many other Intel 1 GbE devices are supported by the e1000g(7D) driver.
- 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 for the system. The device is initialized on first attach and
- de-initialized (stopped) at last detach.
+ The driver supports the following functionality depending on the
+ controller generation:
+ - Jumbo frames up to 9000 bytes.
- The values returned by the driver in the DL_INFO_ACK primitive in
- response to your DL_INFO_REQ are:
+ - Checksum offload for TCP and UDP on IPv4 and IPv6. Checksum offload
+ for IPv4 headers.
- o Maximum SDU is 9000.
+ - TCP Segmentation Offload (TSO) over IPv4 and IPv6
- o Minimum SDU is 0.
+ - Support for multiple hardware rings, enabling receive-side steering
+ (RSS) and multiple MAC address filters.
- o DLSAP address length is 8.
+ - Promiscuous access via snoop(1M) and dlpi(7P)
- o MAC type is DL_ETHER.
+ - LED control
- o SAP (Service Access Point) length value is -2, meaning the
- physical address component is followed immediately by a
- 2-byte SAP component within the DLSAP address.
+ - Link auto-negotiation, manual link controls, and IEEE 802.3x flow
+ control
- o Broadcast address value is the Ethernet/IEEE broadcast
- address (FF:FF:FF:FF:FF:FF).
+APPLICATION PROGRAMMING INTERFACE
+ For each supported device instance, which corresponds to a port, a
+ character-special file is created. This device can be used with the Data
+ Link Provider Interface (DLPI) through either libdlpi(3LIB) or dlpi(7P).
- Once in the DL_ATTACHED state, you must send a DL_BIND_REQ
- to associate a particular SAP with the stream.
+ Each instance is assigned a unique ascending integer identifier starting
+ from zero. The first instance in the system would be enumerated with the
+ id 0 and be named igb0 and be found in the file system at /dev/net/igb0.
CONFIGURATION
- By default, the igb 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 IEEE803.2 standard):
+ The igb driver supports operating at 1 Gbps full-duplex, 100 Mbps full
+ and half-duplex, and 10 Mbps full and half-duplex. By default, the
+ device will use auto-negotiation and prefer the highest compatible speed.
+ The advertised speeds and broader configuration can be observed and
+ modified with dladm(1M). While driver.conf(4) based configuration is
+ possible, it is recommended that dladm(1M) is used wherever possible.
-
- 1000 Mbps, full-duplex.
-
-
- 100 Mbps, full-duplex.
-
-
- 100 Mbps, half-duplex.
-
-
- 10 Mbps, full-duplex.
-
-
- 10 Mbps, half-duplex.
-
-
- The auto-negotiation protocol automatically selects speed (1000 Mbps,
- 100 Mbps, or 10 Mbps) and operation mode (full-duplex or half-duplex)
- as the highest common denominator supported by both link partners.
-
-
- Alternatively, you can set the capabilities advertised by the igb
- device using ndd(1M). The driver supports a number of parameters whose
- names begin with adv_ (see below). Each of these parameters contains a
- boolean value that determines if the device advertises that mode of
- operation. For example, the adv_1000fdx_cap parameter indicates if
- 1000M full duplex is advertised to link partner. The adv_autoneg cap
- parameter controls whether auto-negotiation is performed. If
- adv_autoneg_cap is set to 0, the driver forces the mode of operation
- selected by the first non-zero parameter in priority order as shown
- below:
-
- (highest priority/greatest throughput)
- adv_1000fdx_cap 1000Mbps full duplex
- adv_100fdx_cap 100Mbps full duplex
- adv_100hdx_cap 100Mbps half duplex
- adv_10fdx_cap 10Mbps full duplex
- adv_10hdx_cap 10Mbps half duplex
- (lowest priority/least throughput)
-
-
-
- All capabilities default to enabled. Note that changing any capability
- parameter causes the link to go down while the link partners
- renegotiate the link speed/duplex using the newly changed capabilities.
-
FILES
- /dev/igb*
- Special character device.
+ /dev/net/igb* igb special character device.
+ /kernel/drv/amd64/igb x86 device driver.
- /kernel/drv/igb
- 32-bit device driver (x86).
+ /kernel/drv/sparcv9/igb SPARC device driver
+ /kernel/drv/igb.conf Configuration file.
- /kernel/drv/amd64/igb
- 64-bit device driver (x86).
-
-
- /kernel/drv/sparcv9/igb
- 64-bit device driver (SPARC).
-
-
- /kernel/drv/igb.conf
- Configuration file.
-
-
SEE ALSO
- dladm(1M), ndd(1M), netstat(1M), driver.conf(4), attributes(5),
- streamio(7I), dlpi(7P),
+ dladm(1M), libdlpi(1M), driver.conf(4), e1000g(7D), dlpi(7P), mac(9E)
-
- Writing Device Drivers
-
-
- STREAMS Programming Guide
-
-
- Network Interfaces Programmer's Guide
-
-
-
- July 20, 2007 IGB(7D)
+illumos September 14, 2020 illumos