Also, make sure to start the actual text at the margin.
=======================================================
+* **Updated Cisco enic driver.**
+
+ * Added support for VF representors with single-queue Tx/Rx and flow API
+ * Added support for egress PORT_ID action
+ * Added support for non-zero priorities for group 0 flows
+ * Added support for VXLAN decap combined with VLAN pop
+
+* **Extended flow-perf application.**
+
+ * Started supporting user order instead of bit mask:
+ Now the user can create any structure of rte_flow
+ using flow performance application with any order,
+ moreover the app also now starts to support inner
+ items matching as well.
+ * Added header modify actions.
+ * Added flag action.
+ * Added raw encap/decap actions.
+ * Added VXLAN encap/decap actions.
+ * Added ICMP and ICMP6 matching items.
+ * Added option to set port mask for insertion/deletion:
+ ``--portmask=N``
+ where N represents the hexadecimal bitmask of ports used.
+
+* **Updated the pipeline library for alignment with the P4 language.**
+
+ Added new Software Switch (SWX) pipeline type that provides more
+ flexibility through API and feature alignment with the P4 language.
+
+ * The packet headers, meta-data, actions, tables and pipelines are
+ dynamically defined instead of selected from pre-defined set.
+ * The actions and the pipeline are defined with instructions.
+ * Extern objects and functions can be plugged into the pipeline.
+ * Transaction-oriented table updates.
+
Removed Items
-------------
Also, make sure to start the actual text at the margin.
=======================================================
+* build macros: The macros defining ``RTE_MACHINE_CPUFLAG_*`` are removed.
+ The information provided by these macros is available through standard
+ compiler macros.
+
* eal: The ``rte_logs`` struct and global symbol was made private
and is no longer part of the API.
+* eal: Made the ``rte_dev_event`` structure private to the EAL as no public API
+ used it.
+
+* eal: ``rte_cio_rmb()`` and ``rte_cio_wmb()`` were deprecated since 20.08
+ and are removed in this release.
+
* mem: Removed the unioned field ``phys_addr`` from
the structures ``rte_memseg`` and ``rte_memzone``.
The field ``iova`` is remaining from the old unions.
the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``.
The field ``refcnt`` is remaining from the old unions.
+* pci: Removed the ``rte_kernel_driver`` enum defined in rte_dev.h and
+ replaced with a private enum in the PCI subsystem.
+
+* pci: Removed the PCI resources map API from the public API
+ (``pci_map_resource`` and ``pci_unmap_resource``) and moved it to the
+ PCI bus driver along with the PCI resources lists and associated structures
+ (``pci_map``, ``pci_msix_table``, ``mapped_pci_resource`` and
+ ``mapped_pci_res_list``).
+
* ethdev: Removed the ``kdrv`` field in the ethdev ``rte_eth_dev_data``
structure as it gave no useful abstracted information to the applications.
+* ethdev: ``rte_eth_rx_descriptor_done()`` API has been deprecated.
+
+* Renamed internal ethdev APIs:
+
+ * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()``
+ * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()``
+
* rawdev: Added a structure size parameter to the functions
``rte_rawdev_queue_setup()``, ``rte_rawdev_queue_conf_get()``,
``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``,
Also, make sure to start the actual text at the margin.
=======================================================
+* ``ethdev`` changes
+
+ * Following device operation function pointers moved
+ from ``struct eth_dev_ops`` to ``struct rte_eth_dev``:
+
+ * ``eth_rx_queue_count_t rx_queue_count;``
+ * ``eth_rx_descriptor_done_t rx_descriptor_done;``
+ * ``eth_rx_descriptor_status_t rx_descriptor_status;``
+ * ``eth_tx_descriptor_status_t tx_descriptor_status;``
+
+ * ``struct eth_dev_ops`` is no more accessible by applications,
+ which was already internal data structure.
+
+ * ``ethdev`` internal functions are marked with ``__rte_internal`` tag.
+
Known Issues
------------