ENA(4D) Devices ENA(4D)
ena - Driver for the AWS Elastic Network Adapter
/dev/net/ena*
The ena driver is a GLDv3 NIC driver for the AWS Elastic Network
Adapter family of virtual devices. The driver supports:
- Jumbo frames up to 9216 bytes.
- Multiple Rx and Tx rings.
By design, this driver does not support VNICs. A given ENA device can
only ever receive traffic for a single unicast MAC address and IP
address combination, as determined by the AWS configuration. There is
no support for promiscuous mode, or for receiving traffic for
additional unicast or multicast addresses.
The ena.conf file contains user configurable parameters, each of which
is described below. This file is read when an ENA device is found and
an instance of the driver is attached to it. Changes made to this file
do not affect running instances. Only instances attached after the
changes will see the effects of those changes. Therefore, if you want
your change to take effect on a running instance, you must somehow
reload it. That could be done by a manual reloading of the driver or a
system reboot.
The configuration file can be found at /kernel/drv/ena.conf.
rx_queue_num_descs
Minimum: 64 | Maximum: device dependent
Default: device maximum
The rx_queue_num_descs property determines the number of
descriptors provided by the Rx queue. Currently a single
descriptor is equal to a single packet, but in the future it
may be that a single packet consumes multiple descriptors.
rx_queue_intr_limit
Minimum: 16 | Maximum: 4096
Default: 256
The rx_queue_intr_limit property determines the number frames
an Rx interrupt will attempt to process before returning and
claiming the interrupt. This is meant to keep the ENA Rx
interrupt handler from consuming too much system time. In
general, when a NIC becomes saturated with packets, the MAC
layer will switch the driver into polling mode to reduce
interrupt load.
tx_queue_num_descs
Minimum: 64 | Maximum: device dependent
Default: device maximum
The tx_queue_num_descs property determines the number of
descriptors provided by the Tx queue. Currently a single
descriptor is equal to a single packet, but in the future it
may be that a single packet consumes multiple descriptors.
/kernel/drv/amd64/ena Device driver (x86)
/kernel/drv/ena.conf Driver configuration file containing
user-configurable options
The tunables in ena.conf are considered Evolving and may change in the
future.
dlpi(4P), driver.conf(5), dladm(8), snoop(8)
illumos November 17, 2021 illumos
NAME
ena - Driver for the AWS Elastic Network Adapter
SYNOPSIS
/dev/net/ena*
DESCRIPTION
The ena driver is a GLDv3 NIC driver for the AWS Elastic Network
Adapter family of virtual devices. The driver supports:
- Jumbo frames up to 9216 bytes.
- Multiple Rx and Tx rings.
By design, this driver does not support VNICs. A given ENA device can
only ever receive traffic for a single unicast MAC address and IP
address combination, as determined by the AWS configuration. There is
no support for promiscuous mode, or for receiving traffic for
additional unicast or multicast addresses.
CONFIGURATION
The ena.conf file contains user configurable parameters, each of which
is described below. This file is read when an ENA device is found and
an instance of the driver is attached to it. Changes made to this file
do not affect running instances. Only instances attached after the
changes will see the effects of those changes. Therefore, if you want
your change to take effect on a running instance, you must somehow
reload it. That could be done by a manual reloading of the driver or a
system reboot.
PROPERTIES
The configuration file can be found at /kernel/drv/ena.conf.
rx_queue_num_descs
Minimum: 64 | Maximum: device dependent
Default: device maximum
The rx_queue_num_descs property determines the number of
descriptors provided by the Rx queue. Currently a single
descriptor is equal to a single packet, but in the future it
may be that a single packet consumes multiple descriptors.
rx_queue_intr_limit
Minimum: 16 | Maximum: 4096
Default: 256
The rx_queue_intr_limit property determines the number frames
an Rx interrupt will attempt to process before returning and
claiming the interrupt. This is meant to keep the ENA Rx
interrupt handler from consuming too much system time. In
general, when a NIC becomes saturated with packets, the MAC
layer will switch the driver into polling mode to reduce
interrupt load.
tx_queue_num_descs
Minimum: 64 | Maximum: device dependent
Default: device maximum
The tx_queue_num_descs property determines the number of
descriptors provided by the Tx queue. Currently a single
descriptor is equal to a single packet, but in the future it
may be that a single packet consumes multiple descriptors.
FILES
/kernel/drv/amd64/ena Device driver (x86)
/kernel/drv/ena.conf Driver configuration file containing
user-configurable options
INTERFACE STABILITY
The tunables in ena.conf are considered Evolving and may change in the
future.
SEE ALSO
dlpi(4P), driver.conf(5), dladm(8), snoop(8)
illumos November 17, 2021 illumos