Home
last modified time | relevance | path

Searched full:csum_start (Results 1 – 25 of 71) sorted by relevance

123

/linux/include/net/
H A Dgso.h21 __u16 csum_start; member
54 SKB_GSO_CB(skb)->csum_start = skb_checksum_start(skb) - skb->head; in gso_reset_checksum()
58 * from the start of transport header to SKB_GSO_CB(skb)->csum_start, and
59 * then add in skb->csum (checksum from csum_start to end of packet).
60 * skb->csum and csum_start are then updated to reflect the checksum of the
67 unsigned char *csum_start = skb_transport_header(skb); in gso_make_checksum() local
68 int plen = (skb->head + SKB_GSO_CB(skb)->csum_start) - csum_start; in gso_make_checksum()
72 SKB_GSO_CB(skb)->csum_start = csum_start - skb->head; in gso_make_checksum()
74 return csum_fold(csum_partial(csum_start, plen, partial)); in gso_make_checksum()
H A Dxdp_sock.h106 * void (*tmo_request_checksum)(u16 csum_start, u16 csum_offset, void *priv)
107 * Called when AF_XDP frame requested HW checksum offload. csum_start
119 void (*tmo_request_checksum)(u16 csum_start, u16 csum_offset, void *priv);
179 ops->tmo_request_checksum(meta->request.csum_start, in xsk_tx_metadata_request()
H A Dip6_checksum.h61 skb->csum_start = skb_transport_header(skb) - skb->head; in __tcp_v6_send_check()
H A Dgre.h140 skb->csum_start = skb_transport_header(skb) - skb->head; in gre_build_header()
/linux/Documentation/networking/
H A Dchecksum-offloads.rst33 checksum defined by the sk_buff fields skb->csum_start and skb->csum_offset.
35 'IP-style' checksum) from csum_start to the end of the packet, and fill in the
36 result at (csum_start + csum_offset).
49 skb->csum_start and skb->csum_offset as described above, and setting
63 which only advertises NETIF_F_IP[V6]_CSUM must still obey the csum_start and
97 from csum_start to the end of the packet will be equal to the complement of
100 summing when we get to csum_start, then add the complement of the 16-bit word
101 at (csum_start + csum_offset).
H A Dxsk-tx-metadata.rst50 checksum. ``csum_start`` specifies byte offset of where the checksumming
/linux/include/uapi/linux/
H A Dif_xdp.h126 * are communicated via csum_start and csum_offset fields of struct
149 __u16 csum_start; member
150 /* Offset from csum_start where checksum should be stored. */
H A Dvirtio_net.h153 #define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */
173 __virtio16 csum_start; member
230 __virtio16 csum_start; /* Position to start checksumming from */ member
/linux/tools/include/uapi/linux/
H A Dif_xdp.h126 * are communicated via csum_start and csum_offset fields of struct
149 __u16 csum_start; member
150 /* Offset from csum_start where checksum should be stored. */
/linux/net/sctp/
H A Doffload.c31 /* csum and csum_start in GSO CB may be needed to do the UDP in sctp_gso_make_checksum()
35 SKB_GSO_CB(skb)->csum_start = skb_headroom(skb) + skb->len; in sctp_gso_make_checksum()
/linux/include/linux/
H A Dvirtio_net.h97 u32 start = __virtio16_to_cpu(little_endian, hdr->csum_start); in __virtio_net_hdr_to_skb()
241 hdr->csum_start = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
300 inner_th = __virtio16_to_cpu(little_endian, hdr->csum_start); in virtio_net_hdr_tnl_to_skb()
H A Dskbuff.h155 * referred to by skb->csum_start + skb->csum_offset and any preceding
169 * from &sk_buff.csum_start up to the end, and to record/write the checksum at
170 * offset &sk_buff.csum_start + &sk_buff.csum_offset.
172 * csum_start and csum_offset values are valid values given the length and
175 * purview of the stack to validate that csum_start and csum_offset are set
218 * will set csum_start and csum_offset accordingly, set ip_summed to
229 * to %CHECKSUM_PARTIAL and set csum_start and csum_offset
242 * with GSO then ip_summed is %CHECKSUM_PARTIAL, and both csum_start and
795 * @csum_start: Offset from skb->head where checksumming should start
796 * @csum_offset: Offset from csum_start where checksum should be stored
[all …]
/linux/tools/testing/selftests/bpf/progs/
H A Ddecap_sanity.c28 return skb->csum_start - skb_headroom(skb); in skb_checksum_start_offset()
/linux/tools/testing/selftests/net/lib/
H A Dcsum.c423 vh.csum_start = sizeof(struct ethhdr) + sizeof(struct ipv6hdr); in send_packet()
426 vh.csum_start = sizeof(struct ethhdr) + sizeof(struct iphdr); in send_packet()
431 vh.csum_start += ENC_HEADER_LEN; in send_packet()
435 vh.hdr_len = vh.csum_start + sizeof(struct tcphdr); in send_packet()
438 vh.hdr_len = vh.csum_start + sizeof(struct udphdr); in send_packet()
/linux/fs/btrfs/
H A Dfile-item.c288 u64 csum_start; in search_csum_tree() local
301 csum_start = key.offset; in search_csum_tree()
304 if (in_range(disk_bytenr, csum_start, csum_len)) in search_csum_tree()
319 csum_start = key.offset; in search_csum_tree()
321 ASSERT(in_range(disk_bytenr, csum_start, csum_len)); in search_csum_tree()
324 ret = (min(csum_start + csum_len, disk_bytenr + len) - in search_csum_tree()
/linux/net/ipv4/
H A Dfou_core.c1004 u16 csum_start = skb_checksum_start_offset(skb); in __gue_build_header()
1007 if (csum_start < hdrlen) in __gue_build_header()
1010 csum_start -= hdrlen; in __gue_build_header()
1011 pd[0] = htons(csum_start); in __gue_build_header()
1012 pd[1] = htons(csum_start + skb->csum_offset); in __gue_build_header()
1008 u16 csum_start = skb_checksum_start_offset(skb); __gue_build_header() local
H A Dudp_offload.c301 skb->csum_start = skb_transport_header(skb) - skb->head; in __skb_udp_tunnel_segment()
525 gso_skb->csum_start = skb_transport_header(gso_skb) - gso_skb->head; in __udp_gso_segment()
909 skb->csum_start = (unsigned char *)uh - skb->head; in udp_gro_complete_segment()
/linux/tools/testing/selftests/bpf/
H A Dxdp_hw_metadata.c417 meta->request.csum_start = sizeof(*eth) + sizeof(*iph); in ping_pong()
419 meta->request.csum_start = sizeof(*eth) + sizeof(*ip6h); in ping_pong()
422 printf("%p: ping-pong with csum=%04x (want %04x) csum_start=%d csum_offset=%d\n", in ping_pong()
424 meta->request.csum_start, meta->request.csum_offset); in ping_pong()
/linux/tools/testing/selftests/net/
H A Dpsock_snd.c84 vh->csum_start = ETH_HLEN + sizeof(struct iphdr); in build_vnet_header()
89 vh->csum_start += sizeof(struct udphdr) + cfg_payload_len - in build_vnet_header()
H A Dtxtimestamp.c426 const void *csum_start = udph; in get_udp_csum() local
432 csum_start -= alen * 2; in get_udp_csum()
435 return get_ip_csum(csum_start, csum_len >> 1, pseudo_sum); in get_udp_csum()
/linux/drivers/net/wireless/ath/ath6kl/
H A Dtxrx.c369 u8 csum_start = 0, csum_dest = 0, csum = skb->ip_summed; in ath6kl_data_tx() local
396 csum_start = skb->csum_start - in ath6kl_data_tx()
399 csum_dest = skb->csum_offset + csum_start; in ath6kl_data_tx()
415 meta_v2.csum_start = csum_start; in ath6kl_data_tx()
/linux/net/ipv6/
H A Dip6_checksum.c132 skb->csum_start = skb_transport_header(skb) - skb->head; in udp6_set_csum()
/linux/net/netfilter/ipvs/
H A Dip_vs_xmit.c1028 u16 csum_start = skb_checksum_start_offset(skb); in ipvs_gue_encap() local
1035 if (csum_start < hdrlen) in ipvs_gue_encap()
1038 csum_start -= hdrlen; in ipvs_gue_encap()
1040 pd[0] = htons(csum_start); in ipvs_gue_encap()
1041 pd[1] = htons(csum_start + skb->csum_offset); in ipvs_gue_encap()
/linux/drivers/net/
H A Dtun_vnet.h137 …hdr_len = max(tun_vnet16_to_cpu(flags, hdr->csum_start) + tun_vnet16_to_cpu(flags, hdr->csum_offse… in __tun_vnet_hdr_get()
/linux/include/net/libeth/
H A Dxsk.h157 * @csum_start: unused
167 static inline void libeth_xsktmo_req_csum(u16 csum_start, u16 csum_offset, in libeth_xsktmo_req_csum() argument

123