Lines Matching defs:vnet_hdr
2060 struct virtio_net_hdr vnet_hdr;
2062 if (*len < sizeof(vnet_hdr))
2064 *len -= sizeof(vnet_hdr);
2066 if (virtio_net_hdr_from_skb(skb, &vnet_hdr, vio_le(), true, 0))
2069 return memcpy_to_msg(msg, (void *)&vnet_hdr, sizeof(vnet_hdr));
2497 static int __packet_snd_vnet_parse(struct virtio_net_hdr *vnet_hdr, size_t len)
2499 if ((vnet_hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) &&
2500 (__virtio16_to_cpu(vio_le(), vnet_hdr->csum_start) +
2501 __virtio16_to_cpu(vio_le(), vnet_hdr->csum_offset) + 2 >
2502 __virtio16_to_cpu(vio_le(), vnet_hdr->hdr_len)))
2503 vnet_hdr->hdr_len = __cpu_to_virtio16(vio_le(),
2504 __virtio16_to_cpu(vio_le(), vnet_hdr->csum_start) +
2505 __virtio16_to_cpu(vio_le(), vnet_hdr->csum_offset) + 2);
2507 if (__virtio16_to_cpu(vio_le(), vnet_hdr->hdr_len) > len)
2514 struct virtio_net_hdr *vnet_hdr)
2516 if (*len < sizeof(*vnet_hdr))
2518 *len -= sizeof(*vnet_hdr);
2520 if (!copy_from_iter_full(vnet_hdr, sizeof(*vnet_hdr), &msg->msg_iter))
2523 return __packet_snd_vnet_parse(vnet_hdr, *len);
2678 struct virtio_net_hdr *vnet_hdr = NULL;
2772 vnet_hdr = data;
2773 data += sizeof(*vnet_hdr);
2774 tp_len -= sizeof(*vnet_hdr);
2776 __packet_snd_vnet_parse(vnet_hdr, tp_len)) {
2781 vnet_hdr->hdr_len);
2819 if (virtio_net_hdr_to_skb(skb, vnet_hdr, vio_le())) {
2823 virtio_net_hdr_set_proto(skb, vnet_hdr);
2906 struct virtio_net_hdr vnet_hdr = { 0 };
2954 err = packet_snd_vnet_parse(msg, &len, &vnet_hdr);
2969 if (!vnet_hdr.gso_type &&
2976 linear = __virtio16_to_cpu(vio_le(), vnet_hdr.hdr_len);
3010 if (!vnet_hdr.gso_type && (len > dev->mtu + reserve + extra_len) &&
3028 err = virtio_net_hdr_to_skb(skb, &vnet_hdr, vio_le());
3031 len += sizeof(vnet_hdr);
3032 virtio_net_hdr_set_proto(skb, &vnet_hdr);