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