=== ENA FreeBSD Driver Update

Links: +
link:https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README[ENA README] URL: link:https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README[https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README]

Contact: Michal Krawczyk <mk@semihalf.com> +
Contact: Artur Rojek <ar@semihalf.com> +
Contact: Marcin Wojtas <mw@semihalf.com>

ENA (Elastic Network Adapter) is the smart NIC available in the virtualized environment of Amazon Web Services (AWS).
The ENA driver supports multiple transmit and receive queues and can handle up to 100 Gb/s of network traffic, depending on the instance type on which it is used.

Completed since the last update:

* Update ENA driver to v2.3.1
* Determine location of the MSIx vector table on the device and allocate it dynamically - this enables driver usage on instances like c5gn.
* MFC of the ENA v2.3.1 driver to the FreeBSD 11/12/13-STABLE branches
* ENA v2.3.1 will be a part of the FreeBSD 13.0-RELEASE

Work in progress:

* Internal review ongoing:
* Introduce full kernel RSS API support
* Allow reconfiguration of the RSS indirection table and hash key
* Adjust iflib framework for the ENA requirements
* Add DMA width configuration field link:https://cgit.freebsd.org/src/commit/?id=6dd69f0064f1e54671cdb46ce5975a332fb761e8[commit 6dd69f0064f1]
* Add support for admin completion queues link:https://cgit.freebsd.org/src/commit/?id=09c3f04ff3be97ef442f2484396b1f963565b259[commit 09c3f04ff3be]
* Prototype the driver port to the iflib framework

Sponsor: Amazon.com Inc
