On Tue, May 11, 2021 at 9:47 AM Jason Wang <jasowang@xxxxxxxxxx> wrote: > > > 在 2021/5/11 下午12:42, Yuri Benditovich 写道: > > Large UDP packet provided by the guest with GSO type set to > > VIRTIO_NET_HDR_GSO_UDP_L4 will be divided to several UDP > > packets according to the gso_size field. > > > > Signed-off-by: Yuri Benditovich <yuri.benditovich@xxxxxxxxxx> > > --- > > include/linux/virtio_net.h | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h > > index b465f8f3e554..4ecf9a1ca912 100644 > > --- a/include/linux/virtio_net.h > > +++ b/include/linux/virtio_net.h > > @@ -51,6 +51,11 @@ static inline int virtio_net_hdr_to_skb(struct sk_buff *skb, > > ip_proto = IPPROTO_UDP; > > thlen = sizeof(struct udphdr); > > break; > > + case VIRTIO_NET_HDR_GSO_UDP_L4: > > + gso_type = SKB_GSO_UDP_L4; > > + ip_proto = IPPROTO_UDP; > > + thlen = sizeof(struct udphdr); > > + break; > > > This is only for rx, how about tx? In terms of the guest this is only for TX. Guest RX is a different thing, this is actually coalescing of segmented UDP packets into a large one. This feature is not defined in the virtio spec yet and the support of it first of all depends on the OS. For example: TCP LSO (guest TX) is supported almost by all the versions of Windows. TCP RSC (coalescing of TCP segments) is supported by Win 8 / Server 2012 and up. UDP segmentation is supported by Windows kernels 1903+ UDP coalescing is defined by Windows kernels 2004+ and not supported by the driver yet. > > Thanks > > > > > default: > > return -EINVAL; > > } > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization