On Mon, Feb 24, 2020 at 2:55 PM Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx> wrote: > > On 24/02/2020 19:27, Willem de Bruijn wrote: > > On Mon, Feb 24, 2020 at 8:26 AM <anton.ivanov@xxxxxxxxxxxxxxxxxx> wrote: > >> > >> From: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx> > >> > >> Some of the locally generated frames marked as GSO which > >> arrive at virtio_net_hdr_from_skb() have no GSO_TYPE, no > >> fragments (data_len = 0) and length significantly shorter > >> than the MTU (752 in my experiments). > > > > Do we understand how these packets are generated? > > No, we have not been able to trace them. > > The only thing we know is that this is specific to locally generated > packets. Something arriving from the network does not show this. > > > Else it seems this > > might be papering over a deeper problem. > > > > The stack should not create GSO packets less than or equal to > > skb_shinfo(skb)->gso_size. See for instance the check in > > tcp_gso_segment after pulling the tcp header: > > > > mss = skb_shinfo(skb)->gso_size; > > if (unlikely(skb->len <= mss)) > > goto out; > > > > What is the gso_type, and does it include SKB_GSO_DODGY? > > > > > 0 - not set. Thanks for the follow-up details. Is this something that you can trigger easily? An skb_dump() + dump_stack() when the packet socket gets such a packet may point us to the root cause and fix that. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization