Si-Wei Liu
2022-Aug-09 19:08 UTC
[virtio-dev] [PATCH] virtio-net: use mtu size as buffer length for big packets
On 8/9/2022 11:42 AM, Parav Pandit wrote:>> From: Si-Wei Liu <si-wei.liu at oracle.com> >> Sent: Tuesday, August 9, 2022 2:39 PM >> Currently it is not. Not a single patch nor this patch, but the context for the >> eventual goal is to allow XDP on a MTU=9000 link when guest users >> intentionally lower down MTU to 1500. > Which application benefit by having asymmetry by lowering mtu to 1500 to send packets but want to receive 9K packets?I think virtio-net driver doesn't differentiate MTU and MRU, in which case the receive buffer will be reduced to fit the 1500B payload size when mtu is lowered down to 1500 from 9000. What I actually tried to say is that as our current use case (software virtio) supports XDP applications with 1500 guest mtu and mergeable buffer enabled on a 9000 MTU link, technically it's a legitimate use case regardless of mergeable buffer capability. Otherwise it's considered to be a usability regression in driver software side when migrating (not live migrating) existing user to vdpa, due to lack of hardware implementation of certain relevant feature. Thanks, -Siwei
Parav Pandit
2022-Aug-09 19:18 UTC
[virtio-dev] [PATCH] virtio-net: use mtu size as buffer length for big packets
> From: Si-Wei Liu <si-wei.liu at oracle.com> > Sent: Tuesday, August 9, 2022 3:09 PM> >> From: Si-Wei Liu <si-wei.liu at oracle.com> > >> Sent: Tuesday, August 9, 2022 2:39 PM Currently it is not. Not a > >> single patch nor this patch, but the context for the eventual goal is > >> to allow XDP on a MTU=9000 link when guest users intentionally lower > >> down MTU to 1500. > > Which application benefit by having asymmetry by lowering mtu to 1500 > to send packets but want to receive 9K packets?Below details doesn?t answer the question of asymmetry. :)> I think virtio-net driver doesn't differentiate MTU and MRU, in which case > the receive buffer will be reduced to fit the 1500B payload size when mtu is > lowered down to 1500 from 9000.How? Driver reduced the mXu to 1500, say it is improved to post buffers of 1500 bytes. Device doesn't know about it because mtu in config space is RO field. Device keep dropping 9K packets because buffers posted are 1500 bytes. This is because device follows the spec " The device MUST NOT pass received packets that exceed mtu". So, I am lost what virtio net device user application is trying to achieve by sending smaller packets and dropping all receive packets. (it doesn?t have any relation to mergeable or otherwise).