mbox series

[00/20] net/ena: ENAv2 release

Message ID 20181214131846.22439-1-mk@semihalf.com (mailing list archive)
Headers
Series net/ena: ENAv2 release |

Message

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

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
    traffic

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(-)

--
2.14.1
  

Comments

Ferruh Yigit Dec. 18, 2018, 5:18 p.m. UTC | #1
On 12/14/2018 1:18 PM, Michal Krawczyk wrote:
> Hi,
> 
> 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
>     traffic
> 
> 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

Series applied to dpdk-next-net/master, thanks.

(v3 of 14/20 used, for rest it is v1)