doc: update release notes for 17.02
Fix grammar, spelling and formatting of DPDK 17.02 release notes. Signed-off-by: John McNamara <john.mcnamara@intel.com>
This commit is contained in:
parent
4aeedc255e
commit
dbe29a6258
@ -40,46 +40,47 @@ New Features
|
||||
|
||||
* **Added support for representing buses in EAL**
|
||||
|
||||
A new structure ``rte_bus`` is introduced in EAL. This allows for devices to
|
||||
be represented by buses they are connected to. A new bus can be added to
|
||||
DPDK by extending the ``rte_bus`` structure and implementing the scan and
|
||||
probe functions. Once a new bus is registered using provided APIs, new
|
||||
devices can be detected and initialized using bus scan and probe callbacks.
|
||||
The ``rte_bus`` structure was introduced into the EAL. This allows for
|
||||
devices to be represented by buses they are connected to. A new bus can be
|
||||
added to DPDK by extending the ``rte_bus`` structure and implementing the
|
||||
scan and probe functions. Once a new bus is registered using the provided
|
||||
APIs, new devices can be detected and initialized using bus scan and probe
|
||||
callbacks.
|
||||
|
||||
With this change, devices other than PCI or VDEV type can also be represented
|
||||
in DPDK framework.
|
||||
With this change, devices other than PCI or VDEV type can be represented
|
||||
in the DPDK framework.
|
||||
|
||||
* **Added generic EAL API for I/O device memory read/write operations.**
|
||||
|
||||
This API introduces 8-bit, 16-bit, 32bit, 64bit I/O device
|
||||
memory read/write operations along with the relaxed versions.
|
||||
This API introduces 8 bit, 16 bit, 32 bit and 64 bit I/O device
|
||||
memory read/write operations along with "relaxed" versions.
|
||||
|
||||
The weakly-ordered machine like ARM needs additional I/O barrier for
|
||||
device memory read/write access over PCI bus.
|
||||
By introducing the EAL abstraction for I/O device memory read/write access,
|
||||
The drivers can access I/O device memory in architecture-agnostic manner.
|
||||
The relaxed version does not have additional I/O memory barrier, useful in
|
||||
accessing the device registers of integrated controllers which
|
||||
implicitly strongly ordered with respect to memory access.
|
||||
Weakly-ordered architectures like ARM need an additional I/O barrier for
|
||||
device memory read/write access over PCI bus. By introducing the EAL
|
||||
abstraction for I/O device memory read/write access, the drivers can access
|
||||
I/O device memory in an architecture-agnostic manner. The relaxed version
|
||||
does not have an additional I/O memory barrier, which is useful in accessing
|
||||
the device registers of integrated controllers which is implicitly strongly
|
||||
ordered with respect to memory access.
|
||||
|
||||
* **Added generic flow API (rte_flow).**
|
||||
|
||||
This API provides a generic means to configure hardware to match specific
|
||||
ingress or egress traffic, alter its fate and query related counters
|
||||
ingress or egress traffic, alter its behavior and query related counters
|
||||
according to any number of user-defined rules.
|
||||
|
||||
It is slightly higher-level than the legacy filtering framework which it
|
||||
encompasses and supersedes (including all functions and filter types) in
|
||||
order to expose a single interface with an unambiguous behavior that is
|
||||
common to all poll-mode drivers (PMDs).
|
||||
In order to expose a single interface with an unambiguous behavior that is
|
||||
common to all poll-mode drivers (PMDs) the ``rte_flow`` API is slightly
|
||||
higher-level than the legacy filtering framework, which it encompasses and
|
||||
supersedes (including all functions and filter types) .
|
||||
|
||||
See the :ref:`Generic flow API <Generic_flow_API>` documentation for more
|
||||
information.
|
||||
|
||||
* **Added firmware version get API.**
|
||||
|
||||
Added a new function ``rte_eth_dev_fw_version_get()`` to fetch firmware
|
||||
version by a given device.
|
||||
Added a new function ``rte_eth_dev_fw_version_get()`` to fetch the firmware
|
||||
version for a given device.
|
||||
|
||||
* **Added APIs for MACsec offload support to the ixgbe PMD.**
|
||||
|
||||
@ -90,54 +91,58 @@ New Features
|
||||
|
||||
Added support for I219 Intel 1GbE NICs.
|
||||
|
||||
* **Added VF Daemon (VFD) on i40e. - EXPERIMENTAL**
|
||||
* **Added VF Daemon (VFD) for i40e. - EXPERIMENTAL**
|
||||
|
||||
This's an EXPERIMENTAL feature to enhance the capability of DPDK PF as many
|
||||
VF management features are not supported by kernel PF driver.
|
||||
Some new private APIs are implemented in PMD without abstrction layer.
|
||||
They can be used directly by some users who have the need.
|
||||
This is an EXPERIMENTAL feature to enhance the capability of the DPDK PF as
|
||||
many VF management features are not currently supported by the kernel PF
|
||||
driver. Some new private APIs are implemented directly in the PMD without an
|
||||
abstraction layer. They can be used directly by some users who have the
|
||||
need.
|
||||
|
||||
The new APIs to control VFs directly from PF include,
|
||||
1) set VF MAC anti-spoofing
|
||||
2) set VF VLAN anti-spoofing
|
||||
3) set TX loopback
|
||||
4) set VF unicast promiscuous mode
|
||||
5) set VF multicast promiscuous mode
|
||||
6) set VF MTU
|
||||
7) get/reset VF stats
|
||||
8) set VF MAC address
|
||||
9) set VF VLAN stripping
|
||||
10) VF VLAN insertion
|
||||
12) set VF broadcast mode
|
||||
13) set VF VLAN tag
|
||||
14) set VF VLAN filter
|
||||
VFD also includes VF to PF mailbox message management by APP.
|
||||
When PF receives mailbox messages from VF, PF should call the callback
|
||||
provided by APP to know if they're permitted to be processed.
|
||||
The new APIs to control VFs directly from PF include:
|
||||
|
||||
As an EXPERIMENTAL feature, please aware it can be changed or even
|
||||
* Set VF MAC anti-spoofing.
|
||||
* Set VF VLAN anti-spoofing.
|
||||
* Set TX loopback.
|
||||
* Set VF unicast promiscuous mode.
|
||||
* Set VF multicast promiscuous mode.
|
||||
* Set VF MTU.
|
||||
* Get/reset VF stats.
|
||||
* Set VF MAC address.
|
||||
* Set VF VLAN stripping.
|
||||
* Vf VLAN insertion.
|
||||
* Set VF broadcast mode.
|
||||
* Set VF VLAN tag.
|
||||
* Set VF VLAN filter.
|
||||
|
||||
VFD also includes VF to PF mailbox message management from an application.
|
||||
When the PF receives mailbox messages from the VF the PF should call the
|
||||
callback provided by the application to know if they're permitted to be
|
||||
processed.
|
||||
|
||||
As an EXPERIMENTAL feature, please be aware it can be changed or even
|
||||
removed without prior notice.
|
||||
|
||||
* **Updated the i40e base driver.**
|
||||
|
||||
updated the i40e base driver, including the following changes:
|
||||
Updated the i40e base driver, including the following changes:
|
||||
|
||||
* replace existing legacy memcpy() calls with i40e_memcpy() calls.
|
||||
* use BIT() macro instead of bit fields
|
||||
* add clear all WoL filters implementation
|
||||
* add broadcast promiscuous control per VLAN
|
||||
* remove unused X722_SUPPORT and I40E_NDIS_SUPPORT MARCOs
|
||||
* Replace existing legacy ``memcpy()`` calls with ``i40e_memcpy()`` calls.
|
||||
* Use ``BIT()`` macro instead of bit fields.
|
||||
* Add clear all WoL filters implementation.
|
||||
* Add broadcast promiscuous control per VLAN.
|
||||
* Remove unused ``X722_SUPPORT`` and ``I40E_NDIS_SUPPORT`` macros.
|
||||
|
||||
* **Updated the enic driver.**
|
||||
|
||||
* Set new Rx checksum flags in mbufs to indicate unknown, good or bad.
|
||||
* Set new Rx checksum flags in mbufs to indicate unknown, good or bad checksums.
|
||||
* Fix set/remove of MAC addresses. Allow up to 64 addresses per device.
|
||||
* Enable TSO on outer headers.
|
||||
|
||||
* **Added Solarflare libefx-based network PMD.**
|
||||
|
||||
A new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
|
||||
of 10/40 Gbps adapters has been added.
|
||||
Added a new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
|
||||
of 10/40 Gbps adapters.
|
||||
|
||||
* **Updated the mlx4 driver.**
|
||||
|
||||
@ -145,8 +150,8 @@ New Features
|
||||
|
||||
* **Added support for Mellanox ConnectX-5 adapters (mlx5).**
|
||||
|
||||
Support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps adapters
|
||||
has been added to the existing mlx5 PMD.
|
||||
Added support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps
|
||||
adapters to the existing mlx5 PMD.
|
||||
|
||||
* **Updated the mlx5 driver.**
|
||||
|
||||
@ -161,47 +166,47 @@ New Features
|
||||
|
||||
* **virtio-user with vhost-kernel as another exceptional path.**
|
||||
|
||||
Previously, we upstreamed a virtual device, virtio-user with vhost-user
|
||||
as the backend, as a way for IPC (Inter-Process Communication) and user
|
||||
Previously, we upstreamed a virtual device, virtio-user with vhost-user as
|
||||
the backend as a way of enabling IPC (Inter-Process Communication) and user
|
||||
space container networking.
|
||||
|
||||
Virtio-user with vhost-kernel as the backend is a solution for exceptional
|
||||
path, such as KNI, which exchanges packets with kernel networking stack.
|
||||
Virtio-user with vhost-kernel as the backend is a solution for the exception
|
||||
path, such as KNI, which exchanges packets with the kernel networking stack.
|
||||
This solution is very promising in:
|
||||
|
||||
* maintenance: vhost and vhost-net (kernel) is upstreamed and extensively
|
||||
* Maintenance: vhost and vhost-net (kernel) is an upstreamed and extensively
|
||||
used kernel module.
|
||||
* features: vhost-net is born to be a networking solution, which has
|
||||
* Features: vhost-net is designed to be a networking solution, which has
|
||||
lots of networking related features, like multi-queue, TSO, multi-seg
|
||||
mbuf, etc.
|
||||
* performance: similar to KNI, this solution would use one or more
|
||||
* Performance: similar to KNI, this solution would use one or more
|
||||
kthreads to send/receive packets from user space DPDK applications,
|
||||
which has little impact on user space polling thread (except that
|
||||
it might enter into kernel space to wake up those kthreads if
|
||||
necessary).
|
||||
|
||||
* **Added virtio Rx interrupt suppprt.**
|
||||
* **Added virtio Rx interrupt support.**
|
||||
|
||||
This feature enables Rx interrupt mode for virtio pci net devices as
|
||||
binded to VFIO (noiommu mode) and drived by virtio PMD.
|
||||
Added a feature to enable Rx interrupt mode for virtio pci net devices as
|
||||
bound to VFIO (noiommu mode) and driven by virtio PMD.
|
||||
|
||||
With this feature, virtio PMD can switch between polling mode and
|
||||
With this feature, the virtio PMD can switch between polling mode and
|
||||
interrupt mode, to achieve best performance, and at the same time save
|
||||
power. It can work on both legacy and modern virtio devices. At this mode,
|
||||
each rxq is mapped with an exluded MSIx interrupt.
|
||||
power. It can work on both legacy and modern virtio devices. In this mode,
|
||||
each ``rxq`` is mapped with an excluded MSIx interrupt.
|
||||
|
||||
See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
|
||||
for more information.
|
||||
|
||||
* **Added ARMv8 crypto PMD.**
|
||||
|
||||
A new crypto PMD has been added, which provides combined mode cryptografic
|
||||
A new crypto PMD has been added, which provides combined mode cryptographic
|
||||
operations optimized for ARMv8 processors. The driver can be used to enhance
|
||||
performance in processing chained operations such as cipher + HMAC.
|
||||
|
||||
* **Updated the QAT PMD.**
|
||||
|
||||
The QAT PMD was updated with additional support for:
|
||||
The QAT PMD has been updated with additional support for:
|
||||
|
||||
* DES algorithm.
|
||||
* Scatter-gather list (SGL) support.
|
||||
@ -210,35 +215,37 @@ New Features
|
||||
|
||||
* The Intel(R) Multi Buffer Crypto for IPsec library used in
|
||||
AESNI MB PMD has been moved to a new repository, in GitHub.
|
||||
* Support for single operations (cipher only and authentication only).
|
||||
* Support has been added for single operations (cipher only and
|
||||
authentication only).
|
||||
|
||||
* **Updated the AES-NI GCM PMD.**
|
||||
|
||||
The AES-NI GCM PMD was migrated from MB library to ISA-L library.
|
||||
The migration entailed the following additional support for:
|
||||
The AES-NI GCM PMD was migrated from the Multi Buffer library to the ISA-L
|
||||
library. The migration entailed adding additional support for:
|
||||
|
||||
* GMAC algorithm.
|
||||
* 256-bit cipher key.
|
||||
* Session-less mode.
|
||||
* Out-of place processing
|
||||
* Scatter-gatter support for chained mbufs (only out-of place and destination
|
||||
* Scatter-gather support for chained mbufs (only out-of place and destination
|
||||
mbuf must be contiguous)
|
||||
|
||||
* **Added crypto performance test application.**
|
||||
|
||||
A new performance test application allows measuring performance parameters
|
||||
of PMDs available in crypto tree.
|
||||
Added a new performance test application for measuring performance
|
||||
parameters of PMDs available in the crypto tree.
|
||||
|
||||
* **Added Elastic Flow Distributor library (rte_efd).**
|
||||
|
||||
This new library uses perfect hashing to determine a target/value for a
|
||||
given incoming flow key.
|
||||
Added a new library which uses perfect hashing to determine a target/value
|
||||
for a given incoming flow key.
|
||||
|
||||
It does not store the key itself for lookup operations, and therefore,
|
||||
lookup performance is not dependent on the key size. Also, the target/value
|
||||
can be any arbitrary value (8 bits by default). Finally, the storage requirement
|
||||
is much smaller than a hash-based flow table and therefore, it can better fit for
|
||||
CPU cache, being able to scale to millions of flow keys.
|
||||
The library does not store the key itself for lookup operations, and
|
||||
therefore, lookup performance is not dependent on the key size. Also, the
|
||||
target/value can be any arbitrary value (8 bits by default). Finally, the
|
||||
storage requirement is much smaller than a hash-based flow table and
|
||||
therefore, it can better fit in CPU cache and scale to millions of flow
|
||||
keys.
|
||||
|
||||
See the :ref:`Elastic Flow Distributor Library <Efd_Library>` documentation in
|
||||
the Programmers Guide document, for more information.
|
||||
@ -259,51 +266,24 @@ Resolved Issues
|
||||
Also, make sure to start the actual text at the margin.
|
||||
=========================================================
|
||||
|
||||
|
||||
EAL
|
||||
~~~
|
||||
|
||||
|
||||
Drivers
|
||||
~~~~~~~
|
||||
|
||||
* **net/virtio: Fixed multiple process support.**
|
||||
|
||||
Fixed few regressions introduced in recent releases that break the virtio
|
||||
Fixed a few regressions introduced in recent releases that break the virtio
|
||||
multiple process support.
|
||||
|
||||
|
||||
Libraries
|
||||
~~~~~~~~~
|
||||
|
||||
|
||||
Examples
|
||||
~~~~~~~~
|
||||
|
||||
* **examples/ethtool: Fixed crash with non-PCI devices.**
|
||||
|
||||
Querying a non-PCI device was dereferencing non-existent PCI data
|
||||
resulting in a segmentation fault.
|
||||
Fixed issue where querying a non-PCI device was dereferencing non-existent
|
||||
PCI data resulting in a segmentation fault.
|
||||
|
||||
|
||||
Other
|
||||
~~~~~
|
||||
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
.. This section should contain new known issues in this release. Sample format:
|
||||
|
||||
* **Add title in present tense with full stop.**
|
||||
|
||||
Add a short 1-2 sentence description of the known issue in the present
|
||||
tense. Add information on any known workarounds.
|
||||
|
||||
This section is a comment. do not overwrite or remove it.
|
||||
Also, make sure to start the actual text at the margin.
|
||||
=========================================================
|
||||
|
||||
|
||||
API Changes
|
||||
-----------
|
||||
@ -319,25 +299,26 @@ API Changes
|
||||
|
||||
* **Moved five APIs for VF management from the ethdev to the ixgbe PMD.**
|
||||
|
||||
The following five APIs for VF management from the PF have been removed from the ethdev,
|
||||
renamed and added to the ixgbe PMD::
|
||||
The following five APIs for VF management from the PF have been removed from
|
||||
the ethdev, renamed, and added to the ixgbe PMD::
|
||||
|
||||
rte_eth_dev_set_vf_rate_limit
|
||||
rte_eth_dev_set_vf_rx
|
||||
rte_eth_dev_set_vf_rxmode
|
||||
rte_eth_dev_set_vf_tx
|
||||
rte_eth_dev_set_vf_vlan_filter
|
||||
rte_eth_dev_set_vf_rate_limit()
|
||||
rte_eth_dev_set_vf_rx()
|
||||
rte_eth_dev_set_vf_rxmode()
|
||||
rte_eth_dev_set_vf_tx()
|
||||
rte_eth_dev_set_vf_vlan_filter()
|
||||
|
||||
The API's have been renamed to the following::
|
||||
|
||||
rte_pmd_ixgbe_set_vf_rate_limit
|
||||
rte_pmd_ixgbe_set_vf_rx
|
||||
rte_pmd_ixgbe_set_vf_rxmode
|
||||
rte_pmd_ixgbe_set_vf_tx
|
||||
rte_pmd_ixgbe_set_vf_vlan_filter
|
||||
rte_pmd_ixgbe_set_vf_rate_limit()
|
||||
rte_pmd_ixgbe_set_vf_rx()
|
||||
rte_pmd_ixgbe_set_vf_rxmode()
|
||||
rte_pmd_ixgbe_set_vf_tx()
|
||||
rte_pmd_ixgbe_set_vf_vlan_filter()
|
||||
|
||||
The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
|
||||
|
||||
|
||||
ABI Changes
|
||||
-----------
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user