[dpdk-dev] [PATCH 2/2] doc: announce new mbuf field for LRO

Andrew Rybchenko arybchenko at solarflare.com
Tue Aug 6 20:17:58 CEST 2019

On 8/6/19 5:56 PM, Matan Azrad wrote:
> The API breakage is because the ``tso_segsz`` field was documented for
> LRO.
> The ``tso_segsz`` field in mbuf indicates the size of each segment in
> the LRO packet in Rx path and should be provided by the LRO packet
> port.
> While the generic LRO packet may aggregate different segments sizes in
> one packet, it is impossible to expose this information for each segment
> by one field and it doesn't make sense to expose all the segments sizes
> in the mbuf.
> A new field may be added as union with the above field to expose the
> number of segments aggregated in the LRO packet.
> Signed-off-by: Matan Azrad <matan at mellanox.com>
> ---
>   doc/guides/rel_notes/deprecation.rst | 4 ++++
>   1 file changed, 4 insertions(+)
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index c0cd9bc..e826b69 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -45,6 +45,10 @@ Deprecation Notices
>     - ``eal_parse_pci_DomBDF`` replaced by ``rte_pci_addr_parse``
>     - ``rte_eal_compare_pci_addr`` replaced by ``rte_pci_addr_cmp``
> +* mbuf: Remove ``tso_segsz`` mbuf field providing for LRO support. Use union
> +  block for the field memory to be shared with a new field ``lro_segs_n``
> +  indicates the number of segments aggregated in the LRO packet.
> +
>   * dpaa2: removal of ``rte_dpaa2_memsegs`` structure which has been replaced
>     by a pa-va search library. This structure was earlier being used for holding
>     memory segments used by dpaa2 driver for faster pa->va translation. This

I think that the number of segments is more logical in the case of LRO.
The question (already asked by Konstantin) is why it is needed at all
(statistics?). If so, it still makes sense.

Segment size is misleading here, since not all segments
could be the same size. So,

Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>

As far as I can see bnxt and qede do not fill it in.
mlx5 and vmxnet3 have the number of segments (vmxnet3 has segment
size sometimes and sometimes use a function to guess the value).
So both will win from the change.
It looks like virtio does not have number of segments. CC Maxime to

More information about the dev mailing list