From df18819356547c580f9b133a78aa6587aee4c24b Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Tue, 24 Nov 2020 17:36:28 +0000 Subject: [PATCH] doc: announce deprecation of maximum Rx length field The configuration related to the MTU is complex and have some design issues. This area should be redesigned a bit. Signed-off-by: Ferruh Yigit Acked-by: Konstantin Ananyev Acked-by: Ajit Khaparde Acked-by: Andrew Rybchenko Acked-by: Matan Azrad Acked-by: Thomas Monjalon --- doc/guides/rel_notes/deprecation.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index da47718c27..2f498a0be4 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -64,6 +64,31 @@ Deprecation Notices 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`` -- 2.20.1