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
