1 .\"
2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
5 .\" 1.0 of the CDDL.
6 .\"
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
10 .\"
11 .\"
12 .\" Copyright 2020 Oxide Computer Company
13 .\"
14 .Dd September 14, 2020
15 .Dt IGB 7D
16 .Os
17 .Sh NAME
18 .Nm igb
19 .Nd Intel 1 GbE Server NIC Driver
20 .Sh SYNOPSIS
21 .Pa /dev/net/igb*
22 .Sh DESCRIPTION
23 The
24 .Nm
25 driver is a GLDv3 NIC driver for Intel 1 Gigabit Ethernet PCIe
26 controllers which are built-in to motherboards and discrete PCIe
27 devices.
28 .Pp
29 The driver supports the following device families:
30 .Bl -dash
31 .It
32 Intel 82575 Gigabit Ethernet Controller
33 .It
34 Intel 82576 Gigabit Ethernet Controller
35 .It
36 Intel 82580 Gigabit Ethernet Controller
37 .It
38 Intel Ethernet Controller I210
39 .It
40 Intel Ethernet Controller I211
41 .It
42 Intel Ethernet Controller I350
43 .El
44 .Pp
45 Many other Intel 1 GbE devices are supported by the
46 .Xr e1000g 7D
47 driver.
48 .Pp
49 The driver supports the following functionality depending on the
50 controller generation:
51 .Bl -dash
52 .It
53 Jumbo frames up to 9000 bytes.
54 .It
55 Checksum offload for TCP and UDP on IPv4 and IPv6.
56 Checksum offload for IPv4 headers.
57 .It
58 TCP Segmentation Offload
59 .Pq TSO
60 over IPv4 and IPv6
61 .It
62 Support for multiple hardware rings, enabling receive-side steering
63 .Pq RSS
64 and multiple MAC address filters.
65 .It
66 Promiscuous access via
67 .Xr snoop 1M
68 and
69 .Xr dlpi 7P
70 .It
71 LED control
72 .It
73 Link auto-negotiation, manual link controls, and IEEE 802.3x flow control
74 .El
75 .Sh APPLICATION PROGRAMMING INTERFACE
76 For each supported device instance, which corresponds to a port, a
77 character-special file is created.
78 This device can be used with the Data Link Provider Interface
79 .Pq DLPI
80 through either
81 .Xr libdlpi 3LIB
82 or
83 .Xr dlpi 7P .
84 .Pp
85 Each instance is assigned a unique ascending integer identifier starting
86 from zero.
87 The first instance in the system would be enumerated with the id 0 and
88 be named
89 .Sy igb0
90 and be found in the file system at
91 .Pa /dev/net/igb0 .
92 .Sh CONFIGURATION
93 The
94 .Nm
95 driver supports operating at 1 Gbps full-duplex, 100 Mbps full and
96 half-duplex, and 10 Mbps full and half-duplex.
97 By default, the device will use auto-negotiation and prefer the highest
98 compatible speed.
99 The advertised speeds and broader configuration can be observed and
100 modified with
101 .Xr dladm 1M .
102 While
103 .Xr driver.conf 4
104 based configuration is possible, it is recommended that
105 .Xr dladm 1M
106 is used wherever possible.
107 .Sh FILES
108 .Bl -tag -width Pa
109 .It Pa /dev/net/igb*
110 .Nm
111 special character device.
112 .It Pa /kernel/drv/amd64/igb
113 x86 device driver.
114 .It Pa /kernel/drv/sparcv9/igb
115 SPARC device driver
116 .It Pa /kernel/drv/igb.conf
117 Configuration file.
118 .El
119 .Sh SEE ALSO
120 .Xr dladm 1M ,
121 .Xr libdlpi 1M ,
122 .Xr driver.conf 4 ,
123 .Xr e1000g 7D ,
124 .Xr dlpi 7P ,
125 .Xr mac 9E