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**
|
* **Added support for representing buses in EAL**
|
||||||
|
|
||||||
A new structure ``rte_bus`` is introduced in EAL. This allows for devices to
|
The ``rte_bus`` structure was introduced into the EAL. This allows for
|
||||||
be represented by buses they are connected to. A new bus can be added to
|
devices to be represented by buses they are connected to. A new bus can be
|
||||||
DPDK by extending the ``rte_bus`` structure and implementing the scan and
|
added to DPDK by extending the ``rte_bus`` structure and implementing the
|
||||||
probe functions. Once a new bus is registered using provided APIs, new
|
scan and probe functions. Once a new bus is registered using the provided
|
||||||
devices can be detected and initialized using bus scan and probe callbacks.
|
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
|
With this change, devices other than PCI or VDEV type can be represented
|
||||||
in DPDK framework.
|
in the DPDK framework.
|
||||||
|
|
||||||
* **Added generic EAL API for I/O device memory read/write operations.**
|
* **Added generic EAL API for I/O device memory read/write operations.**
|
||||||
|
|
||||||
This API introduces 8-bit, 16-bit, 32bit, 64bit I/O device
|
This API introduces 8 bit, 16 bit, 32 bit and 64 bit I/O device
|
||||||
memory read/write operations along with the relaxed versions.
|
memory read/write operations along with "relaxed" versions.
|
||||||
|
|
||||||
The weakly-ordered machine like ARM needs additional I/O barrier for
|
Weakly-ordered architectures like ARM need an additional I/O barrier for
|
||||||
device memory read/write access over PCI bus.
|
device memory read/write access over PCI bus. By introducing the EAL
|
||||||
By introducing the EAL abstraction for I/O device memory read/write access,
|
abstraction for I/O device memory read/write access, the drivers can access
|
||||||
The drivers can access I/O device memory in architecture-agnostic manner.
|
I/O device memory in an architecture-agnostic manner. The relaxed version
|
||||||
The relaxed version does not have additional I/O memory barrier, useful in
|
does not have an additional I/O memory barrier, which is useful in accessing
|
||||||
accessing the device registers of integrated controllers which
|
the device registers of integrated controllers which is implicitly strongly
|
||||||
implicitly strongly ordered with respect to memory access.
|
ordered with respect to memory access.
|
||||||
|
|
||||||
* **Added generic flow API (rte_flow).**
|
* **Added generic flow API (rte_flow).**
|
||||||
|
|
||||||
This API provides a generic means to configure hardware to match specific
|
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.
|
according to any number of user-defined rules.
|
||||||
|
|
||||||
It is slightly higher-level than the legacy filtering framework which it
|
In order to expose a single interface with an unambiguous behavior that is
|
||||||
encompasses and supersedes (including all functions and filter types) in
|
common to all poll-mode drivers (PMDs) the ``rte_flow`` API is slightly
|
||||||
order to expose a single interface with an unambiguous behavior that is
|
higher-level than the legacy filtering framework, which it encompasses and
|
||||||
common to all poll-mode drivers (PMDs).
|
supersedes (including all functions and filter types) .
|
||||||
|
|
||||||
See the :ref:`Generic flow API <Generic_flow_API>` documentation for more
|
See the :ref:`Generic flow API <Generic_flow_API>` documentation for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
* **Added firmware version get API.**
|
* **Added firmware version get API.**
|
||||||
|
|
||||||
Added a new function ``rte_eth_dev_fw_version_get()`` to fetch firmware
|
Added a new function ``rte_eth_dev_fw_version_get()`` to fetch the firmware
|
||||||
version by a given device.
|
version for a given device.
|
||||||
|
|
||||||
* **Added APIs for MACsec offload support to the ixgbe PMD.**
|
* **Added APIs for MACsec offload support to the ixgbe PMD.**
|
||||||
|
|
||||||
@ -90,54 +91,58 @@ New Features
|
|||||||
|
|
||||||
Added support for I219 Intel 1GbE NICs.
|
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
|
This is an EXPERIMENTAL feature to enhance the capability of the DPDK PF as
|
||||||
VF management features are not supported by kernel PF driver.
|
many VF management features are not currently supported by the kernel PF
|
||||||
Some new private APIs are implemented in PMD without abstrction layer.
|
driver. Some new private APIs are implemented directly in the PMD without an
|
||||||
They can be used directly by some users who have the need.
|
abstraction layer. They can be used directly by some users who have the
|
||||||
|
need.
|
||||||
|
|
||||||
The new APIs to control VFs directly from PF include,
|
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.
|
|
||||||
|
|
||||||
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.
|
removed without prior notice.
|
||||||
|
|
||||||
* **Updated the i40e base driver.**
|
* **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.
|
* Replace existing legacy ``memcpy()`` calls with ``i40e_memcpy()`` calls.
|
||||||
* use BIT() macro instead of bit fields
|
* Use ``BIT()`` macro instead of bit fields.
|
||||||
* add clear all WoL filters implementation
|
* Add clear all WoL filters implementation.
|
||||||
* add broadcast promiscuous control per VLAN
|
* Add broadcast promiscuous control per VLAN.
|
||||||
* remove unused X722_SUPPORT and I40E_NDIS_SUPPORT MARCOs
|
* Remove unused ``X722_SUPPORT`` and ``I40E_NDIS_SUPPORT`` macros.
|
||||||
|
|
||||||
* **Updated the enic driver.**
|
* **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.
|
* Fix set/remove of MAC addresses. Allow up to 64 addresses per device.
|
||||||
* Enable TSO on outer headers.
|
* Enable TSO on outer headers.
|
||||||
|
|
||||||
* **Added Solarflare libefx-based network PMD.**
|
* **Added Solarflare libefx-based network PMD.**
|
||||||
|
|
||||||
A new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
|
Added a new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
|
||||||
of 10/40 Gbps adapters has been added.
|
of 10/40 Gbps adapters.
|
||||||
|
|
||||||
* **Updated the mlx4 driver.**
|
* **Updated the mlx4 driver.**
|
||||||
|
|
||||||
@ -145,8 +150,8 @@ New Features
|
|||||||
|
|
||||||
* **Added support for Mellanox ConnectX-5 adapters (mlx5).**
|
* **Added support for Mellanox ConnectX-5 adapters (mlx5).**
|
||||||
|
|
||||||
Support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps adapters
|
Added support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps
|
||||||
has been added to the existing mlx5 PMD.
|
adapters to the existing mlx5 PMD.
|
||||||
|
|
||||||
* **Updated the mlx5 driver.**
|
* **Updated the mlx5 driver.**
|
||||||
|
|
||||||
@ -161,47 +166,47 @@ New Features
|
|||||||
|
|
||||||
* **virtio-user with vhost-kernel as another exceptional path.**
|
* **virtio-user with vhost-kernel as another exceptional path.**
|
||||||
|
|
||||||
Previously, we upstreamed a virtual device, virtio-user with vhost-user
|
Previously, we upstreamed a virtual device, virtio-user with vhost-user as
|
||||||
as the backend, as a way for IPC (Inter-Process Communication) and user
|
the backend as a way of enabling IPC (Inter-Process Communication) and user
|
||||||
space container networking.
|
space container networking.
|
||||||
|
|
||||||
Virtio-user with vhost-kernel as the backend is a solution for exceptional
|
Virtio-user with vhost-kernel as the backend is a solution for the exception
|
||||||
path, such as KNI, which exchanges packets with kernel networking stack.
|
path, such as KNI, which exchanges packets with the kernel networking stack.
|
||||||
This solution is very promising in:
|
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.
|
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
|
lots of networking related features, like multi-queue, TSO, multi-seg
|
||||||
mbuf, etc.
|
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,
|
kthreads to send/receive packets from user space DPDK applications,
|
||||||
which has little impact on user space polling thread (except that
|
which has little impact on user space polling thread (except that
|
||||||
it might enter into kernel space to wake up those kthreads if
|
it might enter into kernel space to wake up those kthreads if
|
||||||
necessary).
|
necessary).
|
||||||
|
|
||||||
* **Added virtio Rx interrupt suppprt.**
|
* **Added virtio Rx interrupt support.**
|
||||||
|
|
||||||
This feature enables Rx interrupt mode for virtio pci net devices as
|
Added a feature to enable Rx interrupt mode for virtio pci net devices as
|
||||||
binded to VFIO (noiommu mode) and drived by virtio PMD.
|
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
|
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,
|
power. It can work on both legacy and modern virtio devices. In this mode,
|
||||||
each rxq is mapped with an exluded MSIx interrupt.
|
each ``rxq`` is mapped with an excluded MSIx interrupt.
|
||||||
|
|
||||||
See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
|
See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
* **Added ARMv8 crypto PMD.**
|
* **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
|
operations optimized for ARMv8 processors. The driver can be used to enhance
|
||||||
performance in processing chained operations such as cipher + HMAC.
|
performance in processing chained operations such as cipher + HMAC.
|
||||||
|
|
||||||
* **Updated the QAT PMD.**
|
* **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.
|
* DES algorithm.
|
||||||
* Scatter-gather list (SGL) support.
|
* Scatter-gather list (SGL) support.
|
||||||
@ -210,35 +215,37 @@ New Features
|
|||||||
|
|
||||||
* The Intel(R) Multi Buffer Crypto for IPsec library used in
|
* The Intel(R) Multi Buffer Crypto for IPsec library used in
|
||||||
AESNI MB PMD has been moved to a new repository, in GitHub.
|
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.**
|
* **Updated the AES-NI GCM PMD.**
|
||||||
|
|
||||||
The AES-NI GCM PMD was migrated from MB library to ISA-L library.
|
The AES-NI GCM PMD was migrated from the Multi Buffer library to the ISA-L
|
||||||
The migration entailed the following additional support for:
|
library. The migration entailed adding additional support for:
|
||||||
|
|
||||||
* GMAC algorithm.
|
* GMAC algorithm.
|
||||||
* 256-bit cipher key.
|
* 256-bit cipher key.
|
||||||
* Session-less mode.
|
* Session-less mode.
|
||||||
* Out-of place processing
|
* 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)
|
mbuf must be contiguous)
|
||||||
|
|
||||||
* **Added crypto performance test application.**
|
* **Added crypto performance test application.**
|
||||||
|
|
||||||
A new performance test application allows measuring performance parameters
|
Added a new performance test application for measuring performance
|
||||||
of PMDs available in crypto tree.
|
parameters of PMDs available in the crypto tree.
|
||||||
|
|
||||||
* **Added Elastic Flow Distributor library (rte_efd).**
|
* **Added Elastic Flow Distributor library (rte_efd).**
|
||||||
|
|
||||||
This new library uses perfect hashing to determine a target/value for a
|
Added a new library which uses perfect hashing to determine a target/value
|
||||||
given incoming flow key.
|
for a given incoming flow key.
|
||||||
|
|
||||||
It does not store the key itself for lookup operations, and therefore,
|
The library does not store the key itself for lookup operations, and
|
||||||
lookup performance is not dependent on the key size. Also, the target/value
|
therefore, lookup performance is not dependent on the key size. Also, the
|
||||||
can be any arbitrary value (8 bits by default). Finally, the storage requirement
|
target/value can be any arbitrary value (8 bits by default). Finally, the
|
||||||
is much smaller than a hash-based flow table and therefore, it can better fit for
|
storage requirement is much smaller than a hash-based flow table and
|
||||||
CPU cache, being able to scale to millions of flow keys.
|
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
|
See the :ref:`Elastic Flow Distributor Library <Efd_Library>` documentation in
|
||||||
the Programmers Guide document, for more information.
|
the Programmers Guide document, for more information.
|
||||||
@ -259,51 +266,24 @@ Resolved Issues
|
|||||||
Also, make sure to start the actual text at the margin.
|
Also, make sure to start the actual text at the margin.
|
||||||
=========================================================
|
=========================================================
|
||||||
|
|
||||||
|
|
||||||
EAL
|
|
||||||
~~~
|
|
||||||
|
|
||||||
|
|
||||||
Drivers
|
Drivers
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
* **net/virtio: Fixed multiple process support.**
|
* **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.
|
multiple process support.
|
||||||
|
|
||||||
|
|
||||||
Libraries
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
* **examples/ethtool: Fixed crash with non-PCI devices.**
|
* **examples/ethtool: Fixed crash with non-PCI devices.**
|
||||||
|
|
||||||
Querying a non-PCI device was dereferencing non-existent PCI data
|
Fixed issue where querying a non-PCI device was dereferencing non-existent
|
||||||
resulting in a segmentation fault.
|
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
|
API Changes
|
||||||
-----------
|
-----------
|
||||||
@ -319,25 +299,26 @@ API Changes
|
|||||||
|
|
||||||
* **Moved five APIs for VF management from the ethdev to the ixgbe PMD.**
|
* **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,
|
The following five APIs for VF management from the PF have been removed from
|
||||||
renamed and added to the ixgbe PMD::
|
the ethdev, renamed, and added to the ixgbe PMD::
|
||||||
|
|
||||||
rte_eth_dev_set_vf_rate_limit
|
rte_eth_dev_set_vf_rate_limit()
|
||||||
rte_eth_dev_set_vf_rx
|
rte_eth_dev_set_vf_rx()
|
||||||
rte_eth_dev_set_vf_rxmode
|
rte_eth_dev_set_vf_rxmode()
|
||||||
rte_eth_dev_set_vf_tx
|
rte_eth_dev_set_vf_tx()
|
||||||
rte_eth_dev_set_vf_vlan_filter
|
rte_eth_dev_set_vf_vlan_filter()
|
||||||
|
|
||||||
The API's have been renamed to the following::
|
The API's have been renamed to the following::
|
||||||
|
|
||||||
rte_pmd_ixgbe_set_vf_rate_limit
|
rte_pmd_ixgbe_set_vf_rate_limit()
|
||||||
rte_pmd_ixgbe_set_vf_rx
|
rte_pmd_ixgbe_set_vf_rx()
|
||||||
rte_pmd_ixgbe_set_vf_rxmode
|
rte_pmd_ixgbe_set_vf_rxmode()
|
||||||
rte_pmd_ixgbe_set_vf_tx
|
rte_pmd_ixgbe_set_vf_tx()
|
||||||
rte_pmd_ixgbe_set_vf_vlan_filter
|
rte_pmd_ixgbe_set_vf_vlan_filter()
|
||||||
|
|
||||||
The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
|
The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
|
||||||
|
|
||||||
|
|
||||||
ABI Changes
|
ABI Changes
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user