[00/20] net/ena: ENAv2 release

Message ID 20181214131846.22439-1-mk@semihalf.com (mailing list archive)


Michal Krawczyk Dec. 14, 2018, 1:18 p.m. UTC

we are proud to announce ENAv2 driver for the DPDK.
It is already available for the Linux, and now also ENAv2 can be used with
DPDK on the appropriate AWS instances.

To summarize, this release contains:

**New major features**
  * LLQv2 which is Low Latency Queue v2. This feature reduces the latency
    of the packets by pushing the header directly through the PCI to the
    device, before the DMA is even triggered. This allows the NIC to
    asynchronously prepare for the next incoming packet, when the DMA will
    be finished.
  * Independent configuration of HW Tx and Rx ring depths. Also, on some
    instances it is possible to create 8k Rx descriptors per ring.
  * Additional doorbell check on Tx, to handle Tx more efficiently for big
    bursts of packets
  * Per queue statistics
  * Extended statistics using xstats DPDK API

**New major bug fixes**
  * The reset routine was aligned with the DPDK API, so now it can be
    handled as in other PMDs
  * Fixes for OOO completion
  * Fixes for memory leaks due to port stops and starts in the middle of

There are also minor bug fixes and features in addition to the ones
mentioned above.

Michal Krawczyk (4):
  net/ena: add LLQv2 support
  net/ena: add per-queue software counters stats
  docs: update ENA PMD documentation and features
  net/ena: release of the ENAv2 driver (v2.0.0)

Rafal Kozik (15):
  net/ena: update ena_com for the ENAv2
  net/ena: pass number of CPUs to the host info structure
  net/ena: add reset reason in rx error
  net/ena: add hw queues depth setup
  net/ena: skip packet with wrong req_id
  net/ena: increase maximum Rx ring size
  net/ena: call additional doorbells if needed
  net/ena: destroy queues if start failed
  net/ena: reset should not reconfigure queues
  net/ena: adjust new line in log messages
  net/ena: add supported RSS offloads types
  net/ena: fix invalid reference to variable in union
  net/ena: fix cleanup for out of order packets
  net/ena: new way of getting rx drops
  net/ena: update completion queue after cleanup

Solganik Alexander (1):
  net/ena: expose ENA-specific statistics in extended stats

 doc/guides/nics/ena.rst                         |  31 +-
 doc/guides/nics/features/ena.ini                |  12 +-
 drivers/net/ena/base/ena_com.c                  | 479 ++++++++++---
 drivers/net/ena/base/ena_com.h                  | 111 ++-
 drivers/net/ena/base/ena_defs/ena_admin_defs.h  | 567 ++++++++++-----
 drivers/net/ena/base/ena_defs/ena_common_defs.h |   5 +-
 drivers/net/ena/base/ena_defs/ena_eth_io_defs.h | 244 +++----
 drivers/net/ena/base/ena_defs/ena_gen_info.h    |   5 +-
 drivers/net/ena/base/ena_defs/ena_includes.h    |  33 -
 drivers/net/ena/base/ena_defs/ena_regs_defs.h   | 207 +++---
 drivers/net/ena/base/ena_eth_com.c              | 334 ++++++---
 drivers/net/ena/base/ena_eth_com.h              |  87 ++-
 drivers/net/ena/base/ena_plat.h                 |  12 +-
 drivers/net/ena/base/ena_plat_dpdk.h            |  35 +-
 drivers/net/ena/ena_ethdev.c                    | 902 +++++++++++++++++-------
 drivers/net/ena/ena_ethdev.h                    |  79 ++-
 16 files changed, 2174 insertions(+), 969 deletions(-)