-* ethdev: New function ``rte_eth_dev_set_supported_ptypes`` will be added in
- 19.11.
- This will allow application to request PMD to set specific ptypes defined
- through ``rte_eth_dev_set_supported_ptypes`` in ``rte_mbuf::packet_type``.
- If application doesn't want any ptype information it can call
- ``rte_eth_dev_set_supported_ptypes(ethdev_id, RTE_PTYPE_UNKNOWN)`` and PMD
- will set ``rte_mbuf::packet_type`` to ``0``.
- If application doesn't call ``rte_eth_dev_set_supported_ptypes`` PMD can
- return ``rte_mbuf::packet_type`` with ``rte_eth_dev_get_supported_ptypes``.
- If application is interested only in L2/L3 layer, it can inform the PMD
- to update ``rte_mbuf::packet_type`` with L2/L3 ptype by calling
- ``rte_eth_dev_set_supported_ptypes(ethdev_id, RTE_PTYPE_L2_MASK | RTE_PTYPE_L3_MASK)``.
- This scheme will allow PMDs to avoid lookup to internal ptype table on Rx and
- thereby improve Rx performance if application wishes do so.
-
-* ethdev: New 32-bit fields may be added for maximum LRO session size, in
- struct ``rte_eth_dev_info`` for the port capability and in struct
- ``rte_eth_rxmode`` for the port configuration.
-
-* cryptodev: support for using IV with all sizes is added, J0 still can
- be used but only when IV length in following structs ``rte_crypto_auth_xform``,
- ``rte_crypto_aead_xform`` is set to zero. When IV length is greater or equal
- to one it means it represents IV, when is set to zero it means J0 is used
- directly, in this case 16 bytes of J0 need to be passed.
+* ethdev: ``uint32_t max_rx_pkt_len`` field of ``struct rte_eth_rxmode``, will be
+ replaced by a new ``uint32_t mtu`` field of ``struct rte_eth_conf`` in v21.11.
+ The new ``mtu`` field will be used to configure the initial device MTU via
+ ``rte_eth_dev_configure()`` API.
+ Later MTU can be changed by ``rte_eth_dev_set_mtu()`` API as done now.
+ The existing ``(struct rte_eth_dev)->data->mtu`` variable will be used to store
+ the configured ``mtu`` value,
+ and this new ``(struct rte_eth_dev)->data->dev_conf.mtu`` variable will
+ be used to store the user configuration request.
+ Unlike ``max_rx_pkt_len``, which was valid only when ``JUMBO_FRAME`` enabled,
+ ``mtu`` field will be always valid.
+ When ``mtu`` config is not provided by the application, default ``RTE_ETHER_MTU``
+ value will be used.
+ ``(struct rte_eth_dev)->data->mtu`` should be updated after MTU set successfully,
+ either by ``rte_eth_dev_configure()`` or ``rte_eth_dev_set_mtu()``.
+
+ An application may need to configure device for a specific Rx packet size, like for
+ cases ``DEV_RX_OFFLOAD_SCATTER`` is not supported and device received packet size
+ can't be bigger than Rx buffer size.
+ To cover these cases an application needs to know the device packet overhead to be
+ able to calculate the ``mtu`` corresponding to a Rx buffer size, for this
+ ``(struct rte_eth_dev_info).max_rx_pktlen`` will be kept,
+ the device packet overhead can be calculated as:
+ ``(struct rte_eth_dev_info).max_rx_pktlen - (struct rte_eth_dev_info).max_mtu``
+
+* ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done``
+ will be removed in 21.11.
+ Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
+ APIs can be used as replacement.
+
+* ethdev: The port mirroring API can be replaced with a more fine grain flow API.
+ The structs ``rte_eth_mirror_conf``, ``rte_eth_vlan_mirror`` and the functions
+ ``rte_eth_mirror_rule_set``, ``rte_eth_mirror_rule_reset`` will be marked
+ as deprecated in DPDK 20.11, along with the associated macros ``ETH_MIRROR_*``.
+ This API will be fully removed in DPDK 21.11.
+
+* ethdev: Attribute ``shared`` of the ``struct rte_flow_action_count``
+ is deprecated and will be removed in DPDK 21.11. Shared counters should
+ be managed using shared actions API (``rte_flow_shared_action_create`` etc).
+
+* ethdev: The flow API matching pattern structures, ``struct rte_flow_item_*``,
+ should start with relevant protocol header.
+ Some matching pattern structures implements this by duplicating protocol header
+ fields in the struct. To clarify the intention and to be sure protocol header
+ is intact, will replace those fields with relevant protocol header struct.
+ In v21.02 both individual protocol header fields and the protocol header struct
+ will be added as union, target is switch usage to the protocol header by time.
+ In v21.11 LTS, protocol header fields will be cleaned and only protocol header
+ struct will remain.
+
+* ethdev: Queue specific stats fields will be removed from ``struct rte_eth_stats``.
+ Mentioned fields are: ``q_ipackets``, ``q_opackets``, ``q_ibytes``, ``q_obytes``,
+ ``q_errors``.
+ Instead queue stats will be received via xstats API. Current method support
+ will be limited to maximum 256 queues.
+ Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed.
+
+* ethdev: The offload flag ``PKT_RX_EIP_CKSUM_BAD`` will be removed and
+ replaced by the new flag ``PKT_RX_OUTER_IP_CKSUM_BAD``. The new name is more
+ consistent with existing outer header checksum status flag naming, which
+ should help in reducing confusion about its usage.