Lines Matching refs:gso
1763 struct virtio_net_hdr gso = { 0 };
1789 if (!copy_from_iter_full(&gso, sizeof(gso), from))
1792 if ((gso.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&
1793 tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2 > tun16_to_cpu(tun, gso.hdr_len))
1794 gso.hdr_len = cpu_to_tun16(tun, tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2);
1796 if (tun16_to_cpu(tun, gso.hdr_len) > len)
1798 iov_iter_advance(from, vnet_hdr_sz - sizeof(gso));
1804 (gso.hdr_len && tun16_to_cpu(tun, gso.hdr_len) < ETH_HLEN)))
1817 copylen = gso.hdr_len ? tun16_to_cpu(tun, gso.hdr_len) : GOODCOPY_LEN;
1828 * (e.g gso or jumbo packet), we will do it at after
1831 skb = tun_build_skb(tun, tfile, from, &gso, len, &skb_xdp);
1841 if (tun16_to_cpu(tun, gso.hdr_len) > good_linear)
1844 linear = tun16_to_cpu(tun, gso.hdr_len);
1887 if (virtio_net_hdr_to_skb(skb, &gso, tun_is_little_endian(tun))) {
2075 struct virtio_net_hdr gso = { 0 };
2080 if (unlikely(copy_to_iter(&gso, sizeof(gso), iter) !=
2081 sizeof(gso)))
2083 iov_iter_advance(iter, vnet_hdr_sz - sizeof(gso));
2134 struct virtio_net_hdr gso;
2139 if (virtio_net_hdr_from_skb(skb, &gso,
2146 sinfo->gso_type, tun16_to_cpu(tun, gso.gso_size),
2147 tun16_to_cpu(tun, gso.hdr_len));
2151 min((int)tun16_to_cpu(tun, gso.hdr_len), 64), true);
2157 if (copy_to_iter(&gso, sizeof(gso), iter) != sizeof(gso))
2160 iov_iter_advance(iter, vnet_hdr_sz - sizeof(gso));
2464 struct virtio_net_hdr *gso = &hdr->gso;
2479 if (gso->gso_type) {
2525 if (virtio_net_hdr_to_skb(skb, gso, tun_is_little_endian(tun))) {