* Added support for Solarflare XtremeScale X2xxx family adapters.
* Added support for NVGRE, VXLAN and GENEVE filters in flow API.
* Added support for DROP action in flow API.
+ * Added support for equal stride super-buffer Rx mode (X2xxx only).
+ * Added support for MARK and FLAG actions in flow API (X2xxx only).
* **Added Ethernet poll mode driver for AMD XGBE devices.**
* **Updated szedata2 PMD.**
Added support for new NFB-200G2QL card.
+ New API was introduced in the libsze2 library which the szedata2 PMD depends
+ on thus the new version of the library was needed.
+ New versions of the packages are available and the minimum required version
+ is 4.4.1.
* **Added support for Broadcom NetXtreme-S (BCM58800) family of controllers (aka Stingray)**
* AES-CMAC (128-bit key).
+* **Added Compressdev Library, a generic compression service library.**
+
+ The compressdev library provides an API for offload of compression and
+ decompression operations to hardware or software accelerator devices.
+
+* **Added a new compression poll mode driver using Intels ISA-L.**
+
+ Added the new ``ISA-L`` compression driver, for compression and decompression
+ operations in software. See the :doc:`../compressdevs/isal` compression driver
+ guide for details on this new driver.
+
* **Added the Event Timer Adapter Library.**
The Event Timer Adapter Library extends the event-based model by introducing
timer expiry events. This new type of event is scheduled by an event device
along with existing types of events.
+* **Added OcteonTx TIM Driver (Event timer adapter).**
+
+ The OcteonTx Timer block enables software to schedule events for a future
+ time, it is exposed to an application via Event timer adapter library.
+
+ See the :doc:`../eventdevs/octeontx` guide for more details
+
+* **Added Event Crypto Adapter Library.**
+
+ Added the Event Crypto Adapter Library. This library extends the
+ event-based model by introducing APIs that allow applications to
+ enqueue/dequeue crypto operations to/from cryptodev as events scheduled
+ by an event device.
+
+* **Added Ifpga Bus, a generic Intel FPGA Bus library.**
+
+ The Ifpga Bus library provides support for integrating any Intel FPGA device with
+ the DPDK framework. It provides Intel FPGA Partial Bit Stream AFU (Accelerated
+ Function Unit) scan and drivers probe.
+
+* **Added IFPGA (Intel FPGA) Rawdev Driver.**
+
+ Added a new Rawdev driver called IFPGA(Intel FPGA) Rawdev Driver, which cooperates
+ with OPAE (Open Programmable Acceleration Engine) share code provides common FPGA
+ management ops for FPGA operation.
+
+ See the :doc:`../rawdevs/ifpga_rawdev` programmer's guide for more details.
+
+* **Added DPAA2 QDMA Driver (in rawdev).**
+
+ The DPAA2 QDMA is an implementation of the rawdev API, that provide means
+ to initiate a DMA transaction from CPU. The initiated DMA is performed
+ without CPU being involved in the actual DMA transaction.
+
+ See the :doc:`../rawdevs/dpaa2_qdma` guide for more details.
+
+* **Added DPAA2 Command Interface Driver (in rawdev).**
+
+ The DPAA2 CMDIF is an implementation of the rawdev API, that provides
+ communication between the GPP and NXP's QorIQ based AIOP Block (Firmware).
+ Advanced IO Processor i.e. AIOP is clusters of programmable RISC engines
+ optimised for flexible networking and I/O operations. The communication
+ between GPP and AIOP is achieved via using DPCI devices exposed by MC for
+ GPP <--> AIOP interaction.
+
+ See the :doc:`../rawdevs/dpaa2_cmdif` guide for more details.
+
* **Added device event monitor framework.**
Added a general device event monitor framework at EAL, for device dynamic management.
fall-back value. Previously, setting ``nb_tx_desc`` to zero would have
resulted in an error.
+* ethdev: several changes were made to the flow API.
+
+ * Unused DUP action was removed.
+ * Actions semantics in flow rules: list order now matters ("first
+ to last" instead of "all simultaneously"), repeated actions are now
+ all performed, and they do not individually have (non-)terminating
+ properties anymore.
+ * Flow rules are now always terminating unless a PASSTHRU action is
+ present.
+ * C99-style flexible arrays were replaced with standard pointers in RSS
+ action and in RAW pattern item structures due to compatibility issues.
+ * The RSS action was modified to not rely on external
+ ``struct rte_eth_rss_conf`` anymore to instead expose its own and more
+ appropriately named configuration fields directly
+ (``rss_conf->rss_key`` => ``key``,
+ ``rss_conf->rss_key_len`` => ``key_len``,
+ ``rss_conf->rss_hf`` => ``types``,
+ ``num`` => ``queue_num``), and the addition of missing RSS parameters
+ (``func`` for RSS hash function to apply and ``level`` for the
+ encapsulation level).
+ * The VLAN pattern item (``struct rte_flow_item_vlan``) was modified to
+ include inner EtherType instead of outer TPID. Its default mask was also
+ modified to cover the VID part (lower 12 bits) of TCI only.
+ * A new transfer attribute was added to ``struct rte_flow_attr`` in order
+ to clarify the behavior of some pattern items.
+ * PF and VF pattern items are now only accepted by PMDs that implement
+ them (bnxt and i40e) when the transfer attribute is also present for
+ consistency.
+ * Pattern item PORT was renamed PHY_PORT to avoid confusion with DPDK port
+ IDs.
+ * An action counterpart to the PHY_PORT pattern item was added in order to
+ redirect matching traffic to a specific physical port.
+ * PORT_ID pattern item and actions were added to match and target DPDK
+ port IDs at a higher level than PHY_PORT.
+
+* ethdev: change flow APIs regarding count action:
+ * ``rte_flow_create()`` API count action now requires the ``struct rte_flow_action_count``.
+ * ``rte_flow_query()`` API parameter changed from action type to action structure.
+
ABI Changes
-----------
type ``uint16_t``: ``burst_size``, ``ring_size``, and ``nb_queues``. These
are parameter values recommended for use by the PMD.
+* ethdev: ABI for all flow API functions was updated.
+
+ This includes functions ``rte_flow_copy``, ``rte_flow_create``,
+ ``rte_flow_destroy``, ``rte_flow_error_set``, ``rte_flow_flush``,
+ ``rte_flow_isolate``, ``rte_flow_query`` and ``rte_flow_validate``, due to
+ changes in error type definitions (``enum rte_flow_error_type``), removal
+ of the unused DUP action (``enum rte_flow_action_type``), modified
+ behavior for flow rule actions (see API changes), removal of C99 flexible
+ array from RAW pattern item (``struct rte_flow_item_raw``), complete
+ rework of the RSS action definition (``struct rte_flow_action_rss``),
+ sanity fix in the VLAN pattern item (``struct rte_flow_item_vlan``) and
+ new transfer attribute (``struct rte_flow_attr``).
+
+**New parameter added to rte_bbdev_op_cap_turbo_dec.**
+
+ A new parameter ``max_llr_modulus`` has been added to
+ ``rte_bbdev_op_cap_turbo_dec`` structure to specify maximal LLR (likelihood
+ ratio) absolute value.
+
+* **BBdev Queue Groups split into UL/DL Groups**
+
+ Queue Groups have been split into UL/DL Groups in Turbo Software Driver.
+ They are independent for Decode/Encode. ``rte_bbdev_driver_info`` reflects
+ introduced changes.
+
Removed Items
-------------
librte_cfgfile.so.2
librte_cmdline.so.2
+ librte_common_octeontx.so.1
+ + librte_compressdev.so.1
librte_cryptodev.so.4
librte_distributor.so.1
+ librte_eal.so.7
+ librte_ethdev.so.9
- librte_eventdev.so.3
+ + librte_eventdev.so.4
librte_flow_classify.so.1
librte_gro.so.1
librte_gso.so.1
librte_pmd_bond.so.2
librte_pmd_i40e.so.2
librte_pmd_ixgbe.so.2
+ + librte_pmd_dpaa2_cmdif.so.1
+ + librte_pmd_dpaa2_qdma.so.1
librte_pmd_ring.so.2
librte_pmd_softnic.so.1
librte_pmd_vhost.so.2