In 19.11 PMDs will still update the field even when the offload is not
enabled.
-* 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: Announce moving from dedicated modify function for each field,
to using the general ``rte_flow_modify_field`` action.
-* ethdev: The struct ``rte_flow_action_modify_data`` will be modified
- to support modifying fields larger than 64 bits.
- In addition, documentation will be updated to clarify byte order.
-
-* 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: Definition of the flow API action ``RTE_FLOW_ACTION_TYPE_PORT_ID``
- is ambiguous and needs clarification.
- Structure ``rte_flow_action_port_id`` will be extended to specify
- traffic direction to the represented entity or ethdev port itself
- in DPDK 21.11.
-
-* ethdev: Flow API documentation is unclear if ethdev port used to create
- a flow rule adds any implicit match criteria in the case of transfer rules.
- The semantics will be clarified in DPDK 21.11 and it will require fixes in
- drivers and applications which interpret it in a different way.
-
* 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
will be limited to maximum 256 queues.
Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed.
-* net: The structure ``rte_ipv4_hdr`` will have two unions.
- The first union is for existing ``version_ihl`` byte
- and new bitfield for version and IHL.
- The second union is for existing ``fragment_offset``
- and new bitfield for fragment flags and offset.
+* ethdev: Items and actions ``PF``, ``VF``, ``PHY_PORT``, ``PORT_ID`` are
+ deprecated as hard-to-use / ambiguous and will be removed in DPDK 22.11.
+
+* ethdev: The use of attributes ``ingress`` / ``egress`` in "transfer" flows
+ is deprecated as ambiguous with respect to the embedded switch. The use of
+ these attributes will become invalid starting from DPDK 22.11.
* vhost: ``rte_vdpa_register_device``, ``rte_vdpa_unregister_device``,
``rte_vhost_host_notifier_ctrl`` and ``rte_vdpa_relay_vring_used`` vDPA
and ``rte_vhost_driver_set_protocol_features`` functions will be removed
and the API functions will be made stable in DPDK 21.11.
-* cryptodev: The field ``dataunit_len`` of the ``struct rte_crypto_cipher_xform``
- has a limited size ``uint16_t``.
- It will be moved and extended as ``uint32_t`` in DPDK 21.11.
-
-* cryptodev: The structure ``rte_crypto_sym_vec`` would be updated to add
- ``dest_sgl`` to support out of place processing.
- This field will be null for inplace processing.
- This change is targeted for DPDK 21.11.
-
-* cryptodev: The structure ``rte_crypto_vec`` would be updated to add
- ``tot_len`` to support total buffer length.
- This is required for security cases like IPsec and PDCP encryption offload
- to know how much additional memory space is available in buffer other than
- data length so that driver/HW can write expanded size data after encryption.
- This change is targeted for DPDK 21.11.
-
* cryptodev: Hide structures ``rte_cryptodev_sym_session`` and
``rte_cryptodev_asym_session`` to remove unnecessary indirection between
session and the private data of session. An opaque pointer can be exposed
pointer for the private data to the application which can be attached
to the packet while enqueuing.
-* security: The structure ``rte_security_ipsec_xform`` will be extended with
- multiple fields: source and destination port of UDP encapsulation,
- IPsec payload MSS (Maximum Segment Size), and ESN (Extended Sequence Number).
-
-* security: The IPsec SA config options ``struct rte_security_ipsec_sa_options``
- will be updated with new fields to support new features like TSO in case of
- protocol offload.
-
-* ipsec: The structure ``rte_ipsec_sa_prm`` will be extended with a new field
- ``hdr_l3_len`` to configure tunnel L3 header length.
-
* eventdev: The file ``rte_eventdev_pmd.h`` will be renamed to ``eventdev_driver.h``
to make the driver interface as internal and the structures ``rte_eventdev_data``,
``rte_eventdev`` and ``rte_eventdevs`` will be moved to a new file named