On Wed, Jul 20, 2022 at 08:17:29AM +0000, Eli Cohen wrote: > > From: Eugenio Perez Martin <eperezma@xxxxxxxxxx> > > Sent: Wednesday, July 20, 2022 10:47 AM > > To: Eli Cohen <elic@xxxxxxxxxx> > > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>; Jason Wang <jasowang@xxxxxxxxxx>; virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > > Subject: Re: VIRTIO_NET_F_MTU not negotiated > > > > On Wed, Jul 20, 2022 at 8:30 AM Eli Cohen <elic@xxxxxxxxxx> wrote: > > > > > > > > > > > > > -----Original Message----- > > > > From: Eugenio Perez Martin <eperezma@xxxxxxxxxx> > > > > Sent: Tuesday, July 19, 2022 5:51 PM > > > > To: Eli Cohen <elic@xxxxxxxxxx> > > > > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>; Jason Wang <jasowang@xxxxxxxxxx>; virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > > > > Subject: Re: VIRTIO_NET_F_MTU not negotiated > > > > > > > > On Tue, Jul 19, 2022 at 4:02 PM Eli Cohen <elic@xxxxxxxxxx> wrote: > > > > > > > > > > > From: Eli Cohen > > > > > > Sent: Tuesday, July 19, 2022 4:53 PM > > > > > > To: Michael S. Tsirkin <mst@xxxxxxxxxx> > > > > > > Cc: Jason Wang <jasowang@xxxxxxxxxx>; Eugenio Perez Martin <eperezma@xxxxxxxxxx>; virtualization@lists.linux- > > > > foundation.org > > > > > > Subject: RE: VIRTIO_NET_F_MTU not negotiated > > > > > > > > > > > > > > > > > > > > On Tue, Jul 19, 2022 at 01:25:42PM +0000, Eli Cohen wrote: > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mlx5_vdpa is offering VIRTIO_NET_F_MTU. However the driver (is it qemu > > > > > > > > responsibility?) does not accept and it ends up not negotiated. > > > > > > > > > > > > > > qemu is responsible for passing features to driver. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I don't see how can the driver refuse to negotiate this. What if the hardware > > > > > > > > has a limitation with respect to mtu? > > > > > > > > > > > > > > Then it can fail FEATURES_OK > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I noticed this when I created the device with mtu of 1000. I expected the > > > > > > > > netdev at the vm to have mtu of 1000 and any attempt to go beyond should fail > > > > > > > > but that's not the case. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Comments? > > > > > > > > > > > > > > > > > > > > > Any chance mtu is too small? > > > > > > > > > > > > > > > > > > > MIN_MTU is 68 bytes and I was trying 1000. I tried also 1300 but same thing. > > > > > > > > > > > > > if (virtio_has_feature(vdev, VIRTIO_NET_F_MTU)) { > > > > > > > int mtu = virtio_cread16(vdev, > > > > > > > offsetof(struct virtio_net_config, > > > > > > > mtu)); > > > > > > > if (mtu < MIN_MTU) > > > > > > > __virtio_clear_bit(vdev, VIRTIO_NET_F_MTU); > > > > > > > } > > > > > > > > > > > > > > any chance it's on power or another BE system? > > > > > > > > > > > > > > > > > > > No, it's x86_64. > > > > > > > > > > > > I will test also vdpa device running on the host. > > > > > > > > > > vdpa running on the host (using virtio_vdpa) behaves as expected. > > > > > Is there a quick way to check if qemu fails to pass the information to the driver on the guest? > > > > > > > > > > > > > Can you trace with "-trace 'vhost_vdpa_set_features' -trace > > > > 'vhost_vdpa_set_features'"? They're parameters of qemu. > > > > > > I get this: > > > vhost_vdpa_set_features dev: 0x5595ae9751a0 features: 0x3008b1803 > > > > > > VIRTIO_NET_F_MTU is bit 3 and it seems to be off. > > > > > > > Sorry, I put trace on vhost_vdpa *_set_* features twice in my message. > > > > Could you try tracing vhost_vdpa_get_features too? That way we know if > > qemu offers it to the guest. > > > > Sure. > I get these two successive prints right as the VM starts booting: > vhost_vdpa_get_features dev: 0x55c87e4651e0 features: 0x300cb182b > vhost_vdpa_get_features dev: 0x55c87e4627a0 features: 0x300cb182b > > Later on I get this: > vhost_vdpa_set_features dev: 0x55c87e4651e0 features: 0x3008b1803 > > # qemu-system-x86_64 --version > QEMU emulator version 7.0.0 (v7.0.0) > Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers > > > > > Thanks! > so it's there but driver does not ack it. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization