ENA(4) NetBSD Kernel Interfaces Manual ENA(4)
NAME
ena -- NetBSD kernel driver for Elastic Network Adapter (ENA) family
SYNOPSIS
ena* at pci? dev ? function ?
DESCRIPTION
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 Admin Queue. 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- ment. 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.
HARDWARE
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
SEE ALSO
arp(4), ifmedia(4), netintro(4), pci(4), ifconfig(8)
AUTHORS
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.3 December 1, 2018 NetBSD 9.3
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.