Lines Matching refs:hdr
29 const struct virtio_net_hdr *hdr) in virtio_net_hdr_set_proto() argument
34 switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { in virtio_net_hdr_set_proto()
51 const struct virtio_net_hdr *hdr, in virtio_net_hdr_to_skb() argument
60 if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) { in virtio_net_hdr_to_skb()
61 switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { in virtio_net_hdr_to_skb()
87 if (hdr->gso_type & VIRTIO_NET_HDR_GSO_ECN) in virtio_net_hdr_to_skb()
90 if (hdr->gso_size == 0) in virtio_net_hdr_to_skb()
96 if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) { in virtio_net_hdr_to_skb()
97 u32 start = __virtio16_to_cpu(little_endian, hdr->csum_start); in virtio_net_hdr_to_skb()
98 u32 off = __virtio16_to_cpu(little_endian, hdr->csum_offset); in virtio_net_hdr_to_skb()
124 virtio_net_hdr_set_proto(skb, hdr); in virtio_net_hdr_to_skb()
125 else if (!virtio_net_hdr_match_proto(protocol, hdr->gso_type)) in virtio_net_hdr_to_skb()
156 if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) { in virtio_net_hdr_to_skb()
157 u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size); in virtio_net_hdr_to_skb()
167 if (!(hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM)) in virtio_net_hdr_to_skb()
203 struct virtio_net_hdr *hdr, in virtio_net_hdr_from_skb() argument
208 memset(hdr, 0, sizeof(*hdr)); /* no info leak */ in virtio_net_hdr_from_skb()
214 hdr->hdr_len = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
216 hdr->gso_size = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
219 hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4; in virtio_net_hdr_from_skb()
221 hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6; in virtio_net_hdr_from_skb()
223 hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP_L4; in virtio_net_hdr_from_skb()
227 hdr->gso_type |= VIRTIO_NET_HDR_GSO_ECN; in virtio_net_hdr_from_skb()
229 hdr->gso_type = VIRTIO_NET_HDR_GSO_NONE; in virtio_net_hdr_from_skb()
232 hdr->flags = VIRTIO_NET_HDR_F_NEEDS_CSUM; in virtio_net_hdr_from_skb()
233 hdr->csum_start = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
235 hdr->csum_offset = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
239 hdr->flags = VIRTIO_NET_HDR_F_DATA_VALID; in virtio_net_hdr_from_skb()