/linux/Documentation/networking/ |
A D | checksum-offloads.rst | 33 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).
|
/linux/include/uapi/linux/ |
A D | virtio_net.h | 139 __virtio16 csum_start; member 189 __virtio16 csum_start; /* Position to start checksumming from */ member
|
/linux/include/linux/ |
A D | virtio_net.h | 86 u32 start = __virtio16_to_cpu(little_endian, hdr->csum_start); in virtio_net_hdr_to_skb() 194 hdr->csum_start = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
|
A D | skbuff.h | 894 __u16 csum_start; member 2666 return skb->csum_start - skb_headroom(skb); in skb_checksum_start_offset() 2671 return skb->head + skb->csum_start; in skb_checksum_start() 4527 __u16 csum_start; member 4573 unsigned char *csum_start = skb_transport_header(skb); in gso_make_checksum() local 4574 int plen = (skb->head + SKB_GSO_CB(skb)->csum_start) - csum_start; in gso_make_checksum() 4578 SKB_GSO_CB(skb)->csum_start = csum_start - skb->head; in gso_make_checksum() 4580 return csum_fold(csum_partial(csum_start, plen, partial)); in gso_make_checksum() 4699 unsigned char *csum_start = skb_checksum_start(skb); in lco_csum() local 4704 partial = ~csum_unfold(*(__force __sum16 *)(csum_start + in lco_csum() [all …]
|
/linux/drivers/net/ethernet/sfc/ |
A D | ef100_tx.c | 138 int csum_start; in ef100_set_tx_csum_partial() local 146 csum_start = skb_checksum_start_offset(skb); in ef100_set_tx_csum_partial() 150 csum_start >> 1, in ef100_set_tx_csum_partial()
|
/linux/fs/btrfs/ |
A D | file-item.c | 266 u64 csum_start; in search_csum_tree() local 279 csum_start = key.offset; in search_csum_tree() 282 if (in_range(disk_bytenr, csum_start, csum_len)) in search_csum_tree() 296 csum_start = key.offset; in search_csum_tree() 298 ASSERT(in_range(disk_bytenr, csum_start, csum_len)); in search_csum_tree() 301 ret = (min(csum_start + csum_len, disk_bytenr + len) - in search_csum_tree()
|
/linux/tools/testing/selftests/net/ |
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()
|
A D | txtimestamp.c | 418 const void *csum_start = udph; in get_udp_csum() local 424 csum_start -= alen * 2; in get_udp_csum() 427 return get_ip_csum(csum_start, csum_len >> 1, pseudo_sum); in get_udp_csum()
|
/linux/net/sctp/ |
A D | offload.c | 34 SKB_GSO_CB(skb)->csum_start = skb_headroom(skb) + skb->len; in sctp_gso_make_checksum()
|
/linux/include/net/ |
A D | ip6_checksum.h | 70 skb->csum_start = skb_transport_header(skb) - skb->head; in __tcp_v6_send_check()
|
A D | gre.h | 142 skb->csum_start = skb_transport_header(skb) - skb->head; in gre_build_header()
|
/linux/net/ipv4/ |
A D | fou.c | 1035 u16 csum_start = skb_checksum_start_offset(skb); in __gue_build_header() local 1038 if (csum_start < hdrlen) in __gue_build_header() 1041 csum_start -= hdrlen; in __gue_build_header() 1042 pd[0] = htons(csum_start); in __gue_build_header() 1043 pd[1] = htons(csum_start + skb->csum_offset); in __gue_build_header()
|
A D | gre_offload.c | 112 skb->csum_start = skb_transport_header(skb) - skb->head; in gre_gso_segment()
|
A D | udp_offload.c | 143 skb->csum_start = skb_transport_header(skb) - skb->head; in __skb_udp_tunnel_segment() 621 skb->csum_start = (unsigned char *)uh - skb->head; in udp_gro_complete_segment()
|
A D | tcp_offload.c | 292 skb->csum_start = (unsigned char *)th - skb->head; in tcp_gro_complete()
|
/linux/drivers/net/wireless/ath/ath6kl/ |
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/net/ipv6/ |
A D | ip6_checksum.c | 132 skb->csum_start = skb_transport_header(skb) - skb->head; in udp6_set_csum()
|
/linux/net/netfilter/ipvs/ |
A D | ip_vs_xmit.c | 1055 u16 csum_start = skb_checksum_start_offset(skb); in ipvs_gue_encap() local 1062 if (csum_start < hdrlen) in ipvs_gue_encap() 1065 csum_start -= hdrlen; in ipvs_gue_encap() 1067 pd[0] = htons(csum_start); in ipvs_gue_encap() 1068 pd[1] = htons(csum_start + skb->csum_offset); in ipvs_gue_encap()
|
/linux/net/hsr/ |
A D | hsr_forward.c | 136 skb->csum_start -= HSR_HLEN; in create_stripped_skb_hsr() 306 skb->csum_start += HSR_HLEN; in hsr_create_tagged_frame()
|
/linux/drivers/net/can/ |
A D | vxcan.c | 60 skb->csum_start = 0; in vxcan_xmit()
|
/linux/net/ipv4/netfilter/ |
A D | nf_reject_ipv4.c | 216 nskb->csum_start = (unsigned char *)tcph - nskb->head; in nf_reject_ip_tcphdr_put()
|
/linux/net/bridge/ |
A D | br_multicast.c | 809 void *csum_start = NULL; in br_ip4_multicast_alloc_query() local 891 csum_start = (void *)ih; in br_ip4_multicast_alloc_query() 907 csum_start = (void *)ihv3; in br_ip4_multicast_alloc_query() 929 if (WARN_ON(!csum || !csum_start)) { in br_ip4_multicast_alloc_query() 934 *csum = ip_compute_csum(csum_start, igmp_hdr_size); in br_ip4_multicast_alloc_query() 957 void *csum_start = NULL; in br_ip6_multicast_alloc_query() local 1054 csum_start = (void *)mldq; in br_ip6_multicast_alloc_query() 1070 csum_start = (void *)mld2q; in br_ip6_multicast_alloc_query() 1092 if (WARN_ON(!csum || !csum_start)) { in br_ip6_multicast_alloc_query() 1099 csum_partial(csum_start, mld_hdr_size, 0)); in br_ip6_multicast_alloc_query()
|
/linux/net/core/ |
A D | selftests.c | 157 skb->csum_start = skb_transport_header(skb) - skb->head; in net_test_get_skb()
|
/linux/drivers/net/ethernet/broadcom/ |
A D | bcmsysport.c | 1243 u16 csum_start; in bcm_sysport_insert_tsb() local 1284 csum_start = skb_checksum_start_offset(skb) - sizeof(*tsb); in bcm_sysport_insert_tsb() 1287 csum_start += VLAN_HLEN; in bcm_sysport_insert_tsb() 1288 csum_info = (csum_start + skb->csum_offset) & L4_CSUM_PTR_MASK; in bcm_sysport_insert_tsb() 1289 csum_info |= (csum_start << L4_PTR_SHIFT); in bcm_sysport_insert_tsb()
|
/linux/drivers/net/ |
A D | amt.c | 513 void *csum_start = NULL; in amt_build_igmp_gq() local 567 csum_start = (void *)ihv3; in amt_build_igmp_gq() 568 *csum = ip_compute_csum(csum_start, sizeof(*ihv3)); in amt_build_igmp_gq() 819 void *csum_start = NULL; in amt_build_mld_gq() local 872 csum_start = (void *)mld2q; in amt_build_mld_gq() 876 csum_partial(csum_start, in amt_build_mld_gq()
|