On Sat, 6 May 2023 10:15:29 +0800, Hao Chen <chenh@xxxxxxxxxx> wrote: > When VIRTIO_NET_F_MTU(3) Device maximum MTU reporting is supported. > If offered by the device, device advises driver about the value of its > maximum MTU. If negotiated, the driver uses mtu as the maximum > MTU value. But there the driver also uses it as default mtu, > some devices may have a maximum MTU greater than 1500, this may > cause some large packages to be discarded, You mean tx packet? If yes, I do not think this is the problem of driver. Maybe you should give more details about the discard. > so I changed the MTU to a more > general 1500 when 'Device maximum MTU' bigger than 1500. > > Signed-off-by: Hao Chen <chenh@xxxxxxxxxx> > --- > drivers/net/virtio_net.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 8d8038538fc4..e71c7d1b5f29 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -4040,7 +4040,10 @@ static int virtnet_probe(struct virtio_device *vdev) > goto free; > } > > - dev->mtu = mtu; > + if (mtu > 1500) s/1500/ETH_DATA_LEN/ Thanks. > + dev->mtu = 1500; > + else > + dev->mtu = mtu; > dev->max_mtu = mtu; > } > > -- > 2.27.0 > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization