| /linux/include/net/ |
| H A D | gso.h | 21 __u16 csum_start; member 54 SKB_GSO_CB(skb)->csum_start = skb_checksum_start(skb) - skb->head; in gso_reset_checksum() 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 D | xdp_sock.h | 119 void (*tmo_request_checksum)(u16 csum_start, u16 csum_offset, void *priv); 180 ops->tmo_request_checksum(meta->request.csum_start, in xsk_tx_metadata_request()
|
| H A D | gre.h | 140 skb->csum_start = skb_transport_header(skb) - skb->head; in gre_build_header()
|
| /linux/Documentation/networking/ |
| H A D | checksum-offloads.rst | 30 checksum defined by the sk_buff fields skb->csum_start and skb->csum_offset. 32 'IP-style' checksum) from csum_start to the end of the packet, and fill in the 33 result at (csum_start + csum_offset). 46 skb->csum_start and skb->csum_offset as described above, setting 92 from csum_start to the end of the packet will be equal to the complement of 95 summing when we get to csum_start, then add the complement of the 16-bit word 96 at (csum_start + csum_offset).
|
| /linux/include/linux/ |
| H A D | virtio_net.h | 97 u32 start = __virtio16_to_cpu(little_endian, hdr->csum_start); in __virtio_net_hdr_to_skb() 274 hdr->csum_start = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb() 333 inner_th = __virtio16_to_cpu(little_endian, hdr->csum_start); in virtio_net_hdr_tnl_to_skb()
|
| H A D | skbuff.h | 155 * 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 wher 5381 unsigned char *csum_start = skb_checksum_start(skb); lco_csum() local [all...] |
| /linux/tools/testing/selftests/net/lib/ |
| H A D | csum.c | 423 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/include/uapi/linux/ |
| H A D | virtio_net.h | 173 __virtio16 csum_start; member 230 __virtio16 csum_start; /* Position to start checksumming from */ member
|
| H A D | if_xdp.h | 149 __u16 csum_start; member
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | decap_sanity.c | 28 return skb->csum_start - skb_headroom(skb); in skb_checksum_start_offset()
|
| /linux/tools/include/uapi/linux/ |
| H A D | if_xdp.h | 149 __u16 csum_start; member
|
| /linux/tools/testing/selftests/net/ |
| H A D | psock_snd.c | 84 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 D | txtimestamp.c | 424 const void *csum_start = udph; in get_udp_csum() 430 csum_start -= alen * 2; in get_udp_csum() 433 return get_ip_csum(csum_start, csum_len >> 1, pseudo_sum); in get_udp_csum() 426 const void *csum_start = udph; get_udp_csum() local
|
| /linux/fs/btrfs/ |
| H A D | file-item.c | 288 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() 326 csum_start = key.offset; in search_csum_tree() 328 ASSERT(in_range(disk_bytenr, csum_start, csum_len), in search_csum_tree() 329 "disk_bytenr=%llu csum_start=%llu csum_len=%llu", in search_csum_tree() 330 disk_bytenr, csum_start, csum_len); in search_csum_tree() 333 ret = (min(csum_start + csum_len, disk_bytenr + len) - in search_csum_tree()
|
| /linux/net/sctp/ |
| H A D | offload.c | 31 /* 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/drivers/net/wireless/ath/ath6kl/ |
| H A D | txrx.c | 369 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/tools/testing/selftests/bpf/ |
| H A D | xdp_hw_metadata.c | 417 meta->request.csum_start = sizeof(*eth) + sizeof(*iph); in ping_pong() 419 meta->request.csum_start = sizeof(*eth) + sizeof(*ip6h); in ping_pong() 424 meta->request.csum_start, meta->request.csum_offset); in ping_pong()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| H A D | psp_rxtx.c | 87 (skb->csum_start + skb->head - skb->data) / 2; in mlx5e_psp_set_swp()
|
| H A D | ipsec_rxtx.c | 142 (skb->csum_start + skb->head - skb->data) / 2; in mlx5e_ipsec_set_swp()
|
| /linux/net/xdp/ |
| H A D | xsk.c | 806 u16 csum_start, csum_offset; in xsk_skb_metadata() 816 csum_start = READ_ONCE(meta->request.csum_start); in xsk_skb_metadata() 819 if (unlikely(csum_start + csum_offset + in xsk_skb_metadata() 823 skb->csum_start = hr + csum_start; in xsk_skb_metadata() 805 u16 csum_start, csum_offset; xsk_skb_metadata() local
|
| /linux/drivers/net/ |
| H A D | tun_vnet.h | 137 …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/net/ipv4/ |
| H A D | udp_offload.c | 301 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() 902 skb->csum_start = (unsigned char *)uh - skb->head; in udp_gro_complete_segment()
|
| H A D | gre_offload.c | 114 skb->csum_start = skb_transport_header(skb) - skb->head; in gre_gso_segment()
|
| /linux/net/hsr/ |
| H A D | hsr_forward.c | 165 skb->csum_start -= HSR_HLEN; in create_stripped_skb_hsr() 357 skb->csum_start += HSR_HLEN; in hsr_create_tagged_frame()
|
| /linux/net/bridge/ |
| H A D | br_multicast.c | 938 void *csum_start = NULL; in br_ip4_multicast_alloc_query() 1019 csum_start = (void *)ih; in br_ip4_multicast_alloc_query() 1033 csum_start = (void *)ihv3; in br_ip4_multicast_alloc_query() 1055 if (WARN_ON(!csum || !csum_start)) { in br_ip4_multicast_alloc_query() 1060 *csum = ip_compute_csum(csum_start, igmp_hdr_size); in br_ip4_multicast_alloc_query() 1083 void *csum_start = NULL; in br_ip6_multicast_alloc_query() 1180 csum_start = (void *)mldq; in br_ip6_multicast_alloc_query() 1196 csum_start = (void *)mld2q; in br_ip6_multicast_alloc_query() 1218 if (WARN_ON(!csum || !csum_start)) { in br_ip6_multicast_alloc_query() 1225 csum_partial(csum_start, mld_hdr_siz in br_ip6_multicast_alloc_query() 937 void *csum_start = NULL; br_ip4_multicast_alloc_query() local 1085 void *csum_start = NULL; br_ip6_multicast_alloc_query() local [all...] |