> -----Original Message----- > From: Yigit, Ferruh > Sent: Friday, October 18, 2019 5:36 PM > To: Thomas Monjalon <tho...@monjalon.net>; Matan Azrad <ma...@mellanox.com> > Cc: dev@dpdk.org; Andrew Rybchenko <arybche...@solarflare.com>; Ananyev, > Konstantin <konstantin.anan...@intel.com>; Olivier Matz > <olivier.m...@6wind.com> > Subject: Re: [RFC] ethdev: add new fields for max LRO session size > > On 10/2/2019 2:58 PM, Thomas Monjalon wrote: > > 24/09/2019 14:03, Matan Azrad: > >> From: Ferruh Yigit > >>> On 9/15/2019 8:48 AM, Matan Azrad wrote: > >>>> Hi Ferruh > >>>> > >>>> From: Ferruh Yigit <ferruh.yi...@intel.com> > >>>>> On 8/29/2019 8:47 AM, Matan Azrad wrote: > >>>>>> It may be needed by the user to limit the LRO session packet size. > >>>>>> In order to allow the above limitation, add new Rx configuration for > >>>>>> the maximum LRO session size. > >>>>>> > >>>>>> In addition, Add a new capability to expose the maximum LRO session > >>>>>> size supported by the port. > >>>>>> > >>>>>> Signed-off-by: Matan Azrad <ma...@mellanox.com> > >>>>> > >>>>> Hi Matan, > >>>>> > >>>>> Is there any existing user of this new field? > >>>> > >>>> All the LRO users need it due to the next reasons: > >>>> > >>>> 1. If scatter is enabled - The dpdk user can limit the LRO session size > >>>> created > >>> by the HW by this field, if no field like that - there is no way to limit > >>> it. > >>>> 2. No scatter - the dpdk user may want to limit the LRO packet size in > >>>> order > >>> to save enough tail-room in the mbuf for its own usage. > >>>> 3. The limitation of max_rx_pkt_len is not enough - doesn't make sense to > >>> limit LRO traffic as single packet. > >>>> > >>> > >>> So should there be more complement patches to this RFC? To update the > >>> users of the field with the new field. > >> > >> > >> We already exposed it as ABI breakage in the last deprecation notice. > >> We probably cannot complete it for 19.11 version, hopefully for 20.02 it > >> will be completed. > > > > We won't break the ABI in 20.02. > > What should be done in 19.11? > > > > The ask was to add code that uses new added fields, this patch only adds new > field to two public ethdev struct. > > @Thomas, @Andrew, if this patch doesn't goes it on this release it will have > to > wait a year. I would like to see the implementation but it is not there, what > is > your comment?
Just a side note, if I am not mistaken, there is a 6B gap in eth_rxmode: struct rte_eth_rxmode { /** The multi-queue packet distribution mode to be used, e.g. RSS. */ enum rte_eth_rx_mq_mode mq_mode; uint32_t max_rx_pkt_len; /**< Only used if JUMBO_FRAME enabled. */ uint16_t split_hdr_size; /**< hdr buf size (header_split enabled).*/ <---- offset 8 /** * Per-port Rx offloads to be set using DEV_RX_OFFLOAD_* flags. * Only offloads set on rx_offload_capa field on rte_eth_dev_info * structure are allowed to be set. */ uint64_t offloads; <--- offset 16 }; So we can reserve these 6B, and then reuse for LRO, or whatever. Might be it would help somehow.