lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CADZGycYUH=j80zmJVr7dfVtoJ+BrbAEPJE8Nvf3HR5oimJR+UQ@mail.gmail.com> Date: Tue, 13 Sep 2022 23:42:51 +0800 From: Wei Yang <richard.weiyang@...il.com> To: "Michael S. Tsirkin" <mst@...hat.com>, jasowang@...hat.com Cc: netdev@...r.kernel.org, virtualization@...ts.linux-foundation.org Subject: [Q] packet truncated after enabling ip_forward for virtio-net in guest Hi, I am running a guest with vhost-net as backend. After I enable ip_forward, the packet received is truncated. Host runs a 5.10 kernel, while guest kernel is v5.11 which doesn't include this commit: virtio-net: use NETIF_F_GRO_HW instead of NETIF_F_LRO After applying this commit, the issue is gone. I guess the reason is this device doesn't have NETIF_F_GRO_HW set, so virtnet_set_guest_offloads is not called. I am wondering why packet is truncated without this fix. I follow virtnet_set_guest_offloads and just see virtio_net_handle_ctrl in qemu handles VIRTIO_NET_CTRL_GUEST_OFFLOADS. Since we use a tap dev, then I follow tap_fd_set_offload to ioctl(fd, TUNSETOFFLOAD, offload). But I am lost here. tap_ioctl -> set_offload(). Since we use a normal tap device instead of ipvtap/macvtap, update_features is empty. So I don't get how the device's behavior is changed after set LRO. Do I follow the wrong path? Any suggestions on investigation? I'd appreciate it if someone could give a hint :-)
Powered by blists - more mailing lists