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