On Fri, 19 Jun 2026 at 23:11, Ilya Maximets <[email protected]> wrote:
>
> On 6/18/26 3:51 PM, David Marchand wrote:
> > On Wed, 17 Jun 2026 at 23:25, Ilya Maximets <[email protected]> wrote:
> >>
> >> On 2/27/26 9:29 AM, David Marchand via dev wrote:
> >>> Define a helper capable of segmenting packets from a batch and returning
> >>> them in the input batch.
> >>> This will allow calling GSO in other places of OVS during packet
> >>> processing.
> >>>
> >>> Using this helper, we still need to ensure that the netdev ->send() op
> >>> is called with only NETDEV_MAX_BURST packets.
> >>
> >> I wonder why?  There seems to be no actual limit for the Tx side, even
> >> for dpdk ports.  There is a litmit technically, but it's UINT16_MAX,
> >> which we should not be able to reach.  Or am I missing something?
> >
> > I need to double check but I think it was related at least to the
> > vhost library that limits to 32 packets.
> > There may be other reasons... I did not take notes.
>
> Looking at the DPDK code, virtio_dev_rx() indeed never sends more than
> 32 packets.  But we have retries on OVS side that should save us from
> dropping remaining packets.  We could add a condition to do max_retries++
> if we transmitted NETDEV_MAX_BURST packets, as it isn't actually a retry.
> For non-vhost ports, we re-try on OVS side until the rte_eth_tx_burst()
> can send at least one packet, so we should be good there.

On the principle, that looks good to me.
I am just not sure about incrementing max_retries, but I'll look more
in detail when implementing.


-- 
David Marchand

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to