Fix ENA manual issues
The issues were pointed in community review: https://reviews.freebsd.org/D10427#inline-67587 Also, fix other issues found by the igor tool. Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc.
This commit is contained in:
parent
858659f752
commit
e44f5c81b8
@ -27,7 +27,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 04, 2017
|
||||
.Dd August 16, 2017
|
||||
.Dt ENA 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -35,7 +35,7 @@
|
||||
.Nd "FreeBSD kernel driver for Elastic Network Adapter (ENA) family"
|
||||
.Sh SYNOPSIS
|
||||
To compile this driver into the kernel,
|
||||
place the following line in your
|
||||
place the following line in the
|
||||
kernel configuration file:
|
||||
.Bd -ragged -offset indent
|
||||
.Cd "device ena"
|
||||
@ -59,8 +59,9 @@ 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.
|
||||
.Pp
|
||||
Some ENA devices support SR-IOV. This driver is used for both the
|
||||
SR-IOV Physical Function (PF) and Virtual Function (VF) devices.
|
||||
Some ENA devices support SR-IOV.
|
||||
This driver is used for both the SR-IOV Physical Function (PF) and Virtual
|
||||
Function (VF) devices.
|
||||
.Pp
|
||||
The ENA devices enable high speed and low overhead network traffic
|
||||
processing by providing multiple Tx/Rx queue pairs (the maximum number
|
||||
@ -82,8 +83,8 @@ to recover in a manner transparent to the application, as well as
|
||||
debug logs.
|
||||
.Pp
|
||||
Some of the ENA devices support a working mode called Low-latency
|
||||
Queue (LLQ), which saves several more microseconds. This feature will
|
||||
be implemented for driver in future releases.
|
||||
Queue (LLQ), which saves several more microseconds.
|
||||
This feature will be implemented for driver in future releases.
|
||||
.Sh HARDWARE
|
||||
Supported PCI vendor ID/device IDs:
|
||||
.Pp
|
||||
@ -105,19 +106,23 @@ Supported PCI vendor ID/device IDs:
|
||||
Error occurred during initialization of the mmio register read request.
|
||||
.It ena%d: Can not reset device
|
||||
.Pp
|
||||
Device could not be reset; device may not be responding or is already
|
||||
during reset.
|
||||
Device could not be reset.
|
||||
.br
|
||||
Device may not be responding or is already during reset.
|
||||
.It ena%d: device version is too low
|
||||
.Pp
|
||||
Version of the controller is too low and it is not supported by the driver.
|
||||
Version of the controller is too old and it is not supported by the driver.
|
||||
.It ena%d: Invalid dma width value %d
|
||||
.Pp
|
||||
The controller is able to request dma transcation width. Device stopped
|
||||
responding or it demanded invalid value.
|
||||
The controller is able to request dma transaction width.
|
||||
.br
|
||||
Device stopped responding or it demanded invalid value.
|
||||
.It ena%d: Can not initialize ena admin queue with device
|
||||
.Pp
|
||||
Initialization of the Admin Queue failed; device may not be responding or there
|
||||
was a problem with initialization of the resources.
|
||||
Initialization of the Admin Queue failed.
|
||||
.br
|
||||
Device may not be responding or there was a problem with initialization of
|
||||
the resources.
|
||||
.It ena%d: Cannot get attribute for ena device rc: %d
|
||||
.Pp
|
||||
Failed to get attributes of the device from the controller.
|
||||
@ -141,11 +146,14 @@ Errors occurred when trying to configure AENQ groups.
|
||||
.It ena%d: could not allocate irq vector: %d
|
||||
.It ena%d: Unable to allocate bus resource: registers
|
||||
.Pp
|
||||
Resource allocation failed when initializing the device; driver will not
|
||||
be attached.
|
||||
Resource allocation failed when initializing the device.
|
||||
.br
|
||||
Driver will not be attached.
|
||||
.It ena%d: ENA device init failed (err: %d)
|
||||
.Pp
|
||||
Device initialization failed; driver will not be attached.
|
||||
Device initialization failed.
|
||||
.br
|
||||
Driver will not be attached.
|
||||
.It ena%d: could not activate irq vector: %d
|
||||
.Pp
|
||||
Error occurred when trying to activate interrupt vectors for Admin Queue.
|
||||
@ -157,13 +165,16 @@ Error occurred when trying to register Admin Queue interrupt handler.
|
||||
Error occurred during configuration of the Admin Queue interrupts.
|
||||
.It ena%d: Enable MSI-X failed
|
||||
.Pp
|
||||
Configuration of the MSI-X for Admin Queue failed; there could be lack
|
||||
of resources or interrupts could not have been configured; driver will
|
||||
not be attached.
|
||||
Configuration of the MSI-X for Admin Queue failed.
|
||||
.br
|
||||
There could be lack of resources or interrupts could not have been configured.
|
||||
.br
|
||||
Driver will not be attached.
|
||||
.It ena%d: VLAN is in use, detach first
|
||||
.Pp
|
||||
VLANs are being used when trying to detach the driver; VLANs should be detached
|
||||
first and then detach routine should be called again.
|
||||
VLANs are being used when trying to detach the driver.
|
||||
.br
|
||||
VLANs must be detached first and then detach routine have to be called again.
|
||||
.It ena%d: Unmapped RX DMA tag associations
|
||||
.It ena%d: Unmapped TX DMA tag associations
|
||||
.Pp
|
||||
@ -175,8 +186,9 @@ Error occurred when trying to destroy RX/TX DMA tag.
|
||||
.It ena%d: Cannot fill hash control
|
||||
.It ena%d: WARNING: RSS was not properly initialized, it will affect bandwidth
|
||||
.Pp
|
||||
Error occurred during initialization of one of RSS resources; device is still
|
||||
going to work but it will affect performance because all RX packets will be
|
||||
Error occurred during initialization of one of RSS resources.
|
||||
.br
|
||||
The device will work with reduced performance because all RX packets will be
|
||||
passed to queue 0 and there will be no hash information.
|
||||
.It ena%d: failed to tear down irq: %d
|
||||
.It ena%d: dev has no parent while releasing res for irq: %d
|
||||
@ -196,16 +208,20 @@ Requested MTU value is not supported and will not be set.
|
||||
Device stopped responding and will be reset.
|
||||
.It ena%d: Found a Tx that wasn't completed on time, qid %d, index %d.
|
||||
.Pp
|
||||
Packet was pushed to the NIC but not sent within given time limit; it may
|
||||
be caused by hang of the IO queue.
|
||||
Packet was pushed to the NIC but not sent within given time limit.
|
||||
.br
|
||||
It may be caused by hang of the IO queue.
|
||||
.It ena%d: The number of lost tx completion is aboce the threshold (%d > %d). Reset the device
|
||||
.Pp
|
||||
If too many Tx wasn't completed on time the device is going to be reset; it may
|
||||
be caused by hanged queue or device.
|
||||
If too many Tx wasn't completed on time the device is going to be reset.
|
||||
.br
|
||||
It may be caused by hanged queue or device.
|
||||
.It ena%d: trigger reset is on
|
||||
.Pp
|
||||
Device will be reset; reset is triggered either by watchdog or if too many TX
|
||||
packets were not completed on time.
|
||||
Device will be reset.
|
||||
.br
|
||||
Reset is triggered either by watchdog or if too many TX packets were not
|
||||
completed on time.
|
||||
.It ena%d: invalid value recvd
|
||||
.Pp
|
||||
Link status received from the device in the AENQ handler is invalid.
|
||||
@ -220,7 +236,9 @@ Link status received from the device in the AENQ handler is invalid.
|
||||
.It ena%d: could not allocate irq vector: %d
|
||||
.It ena%d: failed to register interrupt handler for irq %ju: %d
|
||||
.Pp
|
||||
IO resources initialization failed. Interface will not be brought up.
|
||||
IO resources initialization failed.
|
||||
.br
|
||||
Interface will not be brought up.
|
||||
.It ena%d: LRO[%d] Initialization failed!
|
||||
.Pp
|
||||
Initialization of the LRO for the RX ring failed.
|
||||
@ -228,21 +246,26 @@ Initialization of the LRO for the RX ring failed.
|
||||
.It ena%d: failed to add buffer for rx queue %d
|
||||
.It ena%d: refilled rx queue %d with %d pages only
|
||||
.Pp
|
||||
Allocation of resources used on RX path failed; if happened during
|
||||
initialization of the IO queue, the interface will not be brought up.
|
||||
Allocation of resources used on RX path failed.
|
||||
.br
|
||||
If happened during initialization of the IO queue, the interface will not be
|
||||
brought up.
|
||||
.It ena%d: ioctl promisc/allmulti
|
||||
.Pp
|
||||
IOCTL request for the device to work in promiscuous/allmulti mode; see
|
||||
IOCTL request for the device to work in promiscuous/allmulti mode.
|
||||
.br
|
||||
See
|
||||
.Xr ifconfig 8
|
||||
for more details.
|
||||
.It ena%d: too many fragments. Last fragment: %d!
|
||||
.Pp
|
||||
Packet with unsupported number of segments was queued for sending to the
|
||||
device; packet will be dropped.
|
||||
.El
|
||||
device.
|
||||
.br
|
||||
Packet will be dropped.
|
||||
.Sh SUPPORT
|
||||
If an issue is identified with the released source code with a supported adapter
|
||||
email the specific information related to the issue to
|
||||
If an issue is identified with the released source code with a supported
|
||||
adapter, please email the specific information related to the issue to
|
||||
.Aq Mt mk@semihalf.com
|
||||
and
|
||||
.Aq Mt mw@semihalf.com .
|
||||
|
Loading…
Reference in New Issue
Block a user