- NetBSD Manual Pages
ENA(4) NetBSD Kernel Interfaces Manual ENA(4)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
ena -- NetBSD kernel driver for Elastic Network Adapter (ENA) family
ena* at pci? dev ? function ?
The ENA is a networking interface designed to make good use of modern CPU
features and system architectures.
The ENA device exposes a lightweight management interface with a minimal
set of memory mapped registers and extendable command set through an
The driver supports a range of ENA devices, is link-speed independent
(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has a
negotiated and extendable feature set.
Some ENA devices support SR-IOV. This driver is used for both the SR-IOV
Physical Function (PF) and Virtual Function (VF) devices.
The ENA devices enable high speed and low overhead network traffic pro-
cessing by providing multiple Tx/Rx queue pairs (the maximum number is
advertised by the device via the Admin Queue), a dedicated MSI-X inter-
rupt vector per Tx/Rx queue pair, and CPU cacheline optimized data place-
The ena driver supports industry standard TCP/IP offload features such as
checksum offload and TCP transmit segmentation offload (TSO). Receive-
side scaling (RSS) is supported for multi-core scaling.
The ena driver and its corresponding devices implement health monitoring
mechanisms such as watchdog, enabling the device and driver to recover in
a manner transparent to the application, as well as debug logs.
Some of the ENA devices support a working mode called Low-latency Queue
(LLQ), which saves several more microseconds. This feature might be
implemented for the driver in future releases.
Supported PCI vendor ID/device IDs:
· 1d0f:0ec2 - ENA PF
· 1d0f:1ec2 - ENA PF with LLQ support
· 1d0f:ec20 - ENA VF
· 1d0f:ec21 - ENA VF with LLQ support
arp(4), ifmedia(4), netintro(4), pci(4), ifconfig(8)
The ena driver was originally written by Semihalf for FreeBSD. The
driver was ported to NetBSD by Jared D. McNeill <jmcneill@NetBSD.org>.
NetBSD 9.2 December 1, 2018 NetBSD 9.2