Lines Matching refs:gso
1758 struct virtio_net_hdr gso = { 0 };
1784 if (!copy_from_iter_full(&gso, sizeof(gso), from))
1787 if ((gso.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&
1788 tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2 > tun16_to_cpu(tun, gso.hdr_len))
1789 gso.hdr_len = cpu_to_tun16(tun, tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2);
1791 if (tun16_to_cpu(tun, gso.hdr_len) > len)
1793 iov_iter_advance(from, vnet_hdr_sz - sizeof(gso));
1799 (gso.hdr_len && tun16_to_cpu(tun, gso.hdr_len) < ETH_HLEN)))
1812 copylen = gso.hdr_len ? tun16_to_cpu(tun, gso.hdr_len) : GOODCOPY_LEN;
1823 * (e.g gso or jumbo packet), we will do it at after
1826 skb = tun_build_skb(tun, tfile, from, &gso, len, &skb_xdp);
1835 if (tun16_to_cpu(tun, gso.hdr_len) > good_linear)
1838 linear = tun16_to_cpu(tun, gso.hdr_len);
1873 if (virtio_net_hdr_to_skb(skb, &gso, tun_is_little_endian(tun))) {
2071 struct virtio_net_hdr gso = { 0 };
2076 if (unlikely(copy_to_iter(&gso, sizeof(gso), iter) !=
2077 sizeof(gso)))
2079 iov_iter_advance(iter, vnet_hdr_sz - sizeof(gso));
2126 struct virtio_net_hdr gso;
2131 if (virtio_net_hdr_from_skb(skb, &gso,
2137 sinfo->gso_type, tun16_to_cpu(tun, gso.gso_size),
2138 tun16_to_cpu(tun, gso.hdr_len));
2142 min((int)tun16_to_cpu(tun, gso.hdr_len), 64), true);
2147 if (copy_to_iter(&gso, sizeof(gso), iter) != sizeof(gso))
2150 iov_iter_advance(iter, vnet_hdr_sz - sizeof(gso));
2450 struct virtio_net_hdr *gso = &hdr->gso;
2462 if (gso->gso_type) {
2508 if (virtio_net_hdr_to_skb(skb, gso, tun_is_little_endian(tun))) {