---
name: "if_igb"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "11.0-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/if_igb/4freebsd"
---

# if\_igb(4freebsd)

Intel(R) PRO/1000 PCI Express Gigabit Ethernet adapter driver

## NAME

**igb** – Intel(R) PRO/1000 PCI Express Gigabit Ethernet adapter driver

## SYNOPSIS

To compile this driver into the kernel, place the following line in your kernel configuration file:

**device igb**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
if_igb_load="YES"
```

## DESCRIPTION

The **igb** driver provides support for PCI Express Gigabit Ethernet adapters based on the Intel 82575, 82576, 82580, i21x and i35x Ethernet controller chips. The driver supports Transmit/Receive checksum offload and Jumbo Frames. Furthermore it supports TCP segmentation offload (TSO) on all adapters. The identification LEDs of the adapters supported by the **igb** driver can be controlled via the [led(4)](/led/4.md) API for localization purposes.

For questions related to hardware requirements, refer to the documentation supplied with your Intel PRO/1000 adapter. All hardware requirements listed apply to use with FreeBSD.

Support for Jumbo Frames is provided via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the [ifconfig(8)](/ifconfig/8.md) utility configures the adapter to receive and transmit Jumbo Frames. The maximum MTU size for Jumbo Frames is 9216.

This driver supports hardware assisted VLANs. The **igb** driver supports the following media types:

- **autoselect**

  Enables auto-negotiation for speed and duplex.

- **10baseT/UTP**

  Sets 10Mbps operation. Use the **mediaopt** option to select **full-duplex** mode.

- **100baseTX**

  Sets 100Mbps operation. Use the **mediaopt** option to select **full-duplex** mode.

- **1000baseSX**

  Sets 1000Mbps operation. Only **full-duplex** mode is supported at this speed.

- **1000baseTX**

  Sets 1000Mbps operation. Only **full-duplex** mode is supported at this speed.

The **igb** driver supports the following media options:

- **full-duplex**

  Forces full-duplex operation

- **half-duplex**

  Forces half-duplex operation.

Only use **mediaopt** to set the driver to **full-duplex**. If **mediaopt** is not specified, the driver defaults to **half-duplex**.

For more information on configuring this device, see [ifconfig(8)](/ifconfig/8.md).

## HARDWARE

The **igb** driver supports Gigabit Ethernet adapters based on the Intel 82575 and 82576 controller chips:

- Intel Gigabit ET Dual Port Server Adapter (82576)

- Intel Gigabit VT Quad Port Server Adapter (82575)

- Intel Single, Dual and Quad Gigabit Ethernet Controller (82580)

- Intel i210 and i211 Gigabit Ethernet Controller

- Intel i350 and i354 Gigabit Ethernet Controller

## LOADER TUNABLES

Tunables can be set at the [loader(8)](/loader/8.md) prompt before booting the kernel or stored in [loader.conf(5)](/loader.conf/5.md).

- *hw.igb.rxd*

  Number of receive descriptors allocated by the driver. The default value is 1024. The minimum is 80, and the maximum is 4096.

- *hw.igb.txd*

  Number of transmit descriptors allocated by the driver. The default value is 1024. The minimum is 80, and the maximum is 4096.

- *hw.igb.enable\_aim*

  If set to 1, enable Adaptive Interrupt Moderation. The default is to enable Adaptive Interrupt Moderation.

- *hw.igb.num\_queues*

  Number of queues used for data transfer. If set to 0, number of queues will be configured automatically based on number of CPUs and max supported MSI-X messages on the device.

- *kern.ipc.nmbclusters*

  The maximum number of mbuf clusters allowed. If the system has more than one igb card or jumbo frames are enabled, this value will need to be increased.

- *kern.ipc.nmbjumbo9k*

  The maximum number of mbuf 9k jumbo clusters allowed. Increasing this to allow for at least 8192 extra clusters per interface can allow for an mtu of 8192.

## FILES

- */dev/led/igb\**

  identification LED device nodes

## EXAMPLES

Make the identification LED of igb0 blink:

```
echo f2 > /dev/led/igb0
```

Turn the identification LED of igb0 off again:

```
echo 0 > /dev/led/igb0
```

## DIAGNOSTICS

- igb%d: Unable to allocate bus resource: memory

  A fatal initialization error has occurred.

- igb%d: Unable to allocate bus resource: interrupt

  A fatal initialization error has occurred.

- igb%d: watchdog timeout -- resetting

  The device has stopped responding to the network, or there is a problem with the network connection (cable).

## SUPPORT

For general information and support, go to the Intel support website at: *http://support.intel.com*.

If an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to ⟨*freebsd@intel.com*⟩.

## SEE ALSO

[altq(4)](/altq/4.md), [arp(4)](/arp/4.md), [em(4)](/em/4.md), [led(4)](/led/4.md), [netintro(4)](/netintro/4.md), [ng\_ether(4)](/ng_ether/4.md), [polling(4)](/polling/4.md), [vlan(4)](/vlan/4.md), [ifconfig(8)](/ifconfig/8.md)

## HISTORY

The **igb** device driver first appeared in FreeBSD 7.1.

## AUTHORS

The **igb** driver was written by Intel Corporation ⟨*freebsd@intel.com*⟩.
