1.\" $NetBSD: ena.4,v 1.2 2018/12/02 10:06:45 wiz Exp $ 2.\" 3.\" Copyright (c) 2015-2017 Amazon.com, Inc. or its affiliates. 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 13.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" notice, this list of conditions and the following disclaimer in 15.\" the documentation and/or other materials provided with the 16.\" distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd December 1, 2018 31.Dt ENA 4 32.Os 33.Sh NAME 34.Nm ena 35.Nd NetBSD kernel driver for Elastic Network Adapter (ENA) family 36.Sh SYNOPSIS 37.Cd "ena* at pci? dev ? function ?" 38.Sh DESCRIPTION 39The ENA is a networking interface designed to make good use of modern CPU 40features and system architectures. 41.Pp 42The ENA device exposes a lightweight management interface with a 43minimal set of memory mapped registers and extendable command set 44through an Admin Queue. 45.Pp 46The driver supports a range of ENA devices, is link-speed independent 47(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has 48a negotiated and extendable feature set. 49.Pp 50Some ENA devices support SR-IOV. 51This driver is used for both the 52SR-IOV Physical Function (PF) and Virtual Function (VF) devices. 53.Pp 54The ENA devices enable high speed and low overhead network traffic 55processing by providing multiple Tx/Rx queue pairs (the maximum number 56is advertised by the device via the Admin Queue), a dedicated MSI-X 57interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized 58data placement. 59.Pp 60The 61.Nm 62driver supports industry standard TCP/IP offload features such 63as checksum offload and TCP transmit segmentation offload (TSO). 64Receive-side scaling (RSS) is supported for multi-core scaling. 65.Pp 66The 67.Nm 68driver and its corresponding devices implement health 69monitoring mechanisms such as watchdog, enabling the device and driver 70to recover in a manner transparent to the application, as well as 71debug logs. 72.Pp 73Some of the ENA devices support a working mode called Low-latency 74Queue (LLQ), which saves several more microseconds. 75This feature might be implemented for the driver in future releases. 76.Sh HARDWARE 77Supported PCI vendor ID/device IDs: 78.Pp 79.Bl -bullet -compact 80.It 811d0f:0ec2 - ENA PF 82.It 831d0f:1ec2 - ENA PF with LLQ support 84.It 851d0f:ec20 - ENA VF 86.It 871d0f:ec21 - ENA VF with LLQ support 88.El 89.Sh SEE ALSO 90.Xr arp 4 , 91.Xr ifmedia 4 , 92.Xr netintro 4 , 93.Xr pci 4 , 94.Xr ifconfig 8 95.Sh AUTHORS 96.An -nosplit 97The 98.Nm 99driver was originally written by 100.An Semihalf 101for 102.Fx . 103The driver was ported to 104.Nx 105by 106.An Jared D. McNeill Aq Mt jmcneill@NetBSD.org . 107