Home
last modified time | relevance | path

Searched refs:csum_start (Results 1 – 25 of 53) sorted by relevance

123

/Linux-v5.10/Documentation/networking/
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).
Dsegmentation-offloads.rst40 TCP header. In addition as CHECKSUM_PARTIAL is required csum_start should
/Linux-v5.10/include/uapi/linux/
Dvirtio_net.h139 __virtio16 csum_start; member
189 __virtio16 csum_start; /* Position to start checksumming from */ member
/Linux-v5.10/include/linux/
Dvirtio_net.h66 u16 start = __virtio16_to_cpu(little_endian, hdr->csum_start); in virtio_net_hdr_to_skb()
157 hdr->csum_start = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
Dskbuff.h869 __u16 csum_start; member
2596 return skb->csum_start - skb_headroom(skb); in skb_checksum_start_offset()
2601 return skb->head + skb->csum_start; in skb_checksum_start()
4085 skb->csum_start = ((unsigned char *)ptr + start) - skb->head; in skb_remcsum_adjust_partial()
4396 __u16 csum_start; member
4429 SKB_GSO_CB(skb)->csum_start = skb_checksum_start(skb) - skb->head; in gso_reset_checksum()
4442 unsigned char *csum_start = skb_transport_header(skb); in gso_make_checksum() local
4443 int plen = (skb->head + SKB_GSO_CB(skb)->csum_start) - csum_start; in gso_make_checksum()
4447 SKB_GSO_CB(skb)->csum_start = csum_start - skb->head; in gso_make_checksum()
4449 return csum_fold(csum_partial(csum_start, plen, partial)); in gso_make_checksum()
[all …]
/Linux-v5.10/drivers/net/ethernet/sfc/
Def100_tx.c154 int csum_start; in ef100_set_tx_csum_partial() local
162 csum_start = skb_checksum_start_offset(skb); in ef100_set_tx_csum_partial()
166 csum_start >> 1, in ef100_set_tx_csum_partial()
/Linux-v5.10/tools/testing/selftests/net/
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()
Dtxtimestamp.c418 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-v5.10/include/net/
Dip6_checksum.h70 skb->csum_start = skb_transport_header(skb) - skb->head; in __tcp_v6_send_check()
/Linux-v5.10/net/ipv4/
Dfou.c1035 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()
Dudp_offload.c140 skb->csum_start = skb_transport_header(skb) - skb->head; in __skb_udp_tunnel_segment()
553 skb->csum_start = (unsigned char *)uh - skb->head; in udp_gro_complete_segment()
Dtcp_offload.c292 skb->csum_start = (unsigned char *)th - skb->head; in tcp_gro_complete()
/Linux-v5.10/net/ipv6/
Dip6_checksum.c132 skb->csum_start = skb_transport_header(skb) - skb->head; in udp6_set_csum()
/Linux-v5.10/drivers/net/wireless/ath/ath6kl/
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-v5.10/net/hsr/
Dhsr_forward.c94 skb->csum_start -= HSR_HLEN; in create_stripped_skb_hsr()
260 skb->csum_start += HSR_HLEN; in hsr_create_tagged_frame()
/Linux-v5.10/net/netfilter/ipvs/
Dip_vs_xmit.c1055 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-v5.10/net/ipv4/netfilter/
Dnf_reject_ipv4.c94 nskb->csum_start = (unsigned char *)tcph - nskb->head; in nf_reject_ip_tcphdr_put()
/Linux-v5.10/drivers/net/can/
Dvxcan.c59 skb->csum_start = 0; in vxcan_xmit()
/Linux-v5.10/net/bridge/
Dbr_multicast.c697 void *csum_start = NULL; in br_ip4_multicast_alloc_query() local
778 csum_start = (void *)ih; in br_ip4_multicast_alloc_query()
794 csum_start = (void *)ihv3; in br_ip4_multicast_alloc_query()
816 if (WARN_ON(!csum || !csum_start)) { in br_ip4_multicast_alloc_query()
821 *csum = ip_compute_csum(csum_start, igmp_hdr_size); in br_ip4_multicast_alloc_query()
843 void *csum_start = NULL; in br_ip6_multicast_alloc_query() local
939 csum_start = (void *)mldq; in br_ip6_multicast_alloc_query()
955 csum_start = (void *)mld2q; in br_ip6_multicast_alloc_query()
977 if (WARN_ON(!csum || !csum_start)) { in br_ip6_multicast_alloc_query()
984 csum_partial(csum_start, mld_hdr_size, 0)); in br_ip6_multicast_alloc_query()
/Linux-v5.10/net/tls/
Dtls_device_fallback.c181 skb->csum_start = skb_transport_header(skb) - skb->head; in update_chksum()
/Linux-v5.10/drivers/net/ethernet/broadcom/
Dbcmsysport.c1238 u16 csum_start; in bcm_sysport_insert_tsb() local
1279 csum_start = skb_checksum_start_offset(skb) - sizeof(*tsb); in bcm_sysport_insert_tsb()
1282 csum_start += VLAN_HLEN; in bcm_sysport_insert_tsb()
1283 csum_info = (csum_start + skb->csum_offset) & L4_CSUM_PTR_MASK; in bcm_sysport_insert_tsb()
1284 csum_info |= (csum_start << L4_PTR_SHIFT); in bcm_sysport_insert_tsb()
/Linux-v5.10/net/netfilter/
Dnf_nat_proto.c507 skb->csum_start = skb_headroom(skb) + skb_network_offset(skb) + in nf_nat_ipv4_csum_recalc()
527 skb->csum_start = skb_headroom(skb) + skb_network_offset(skb) + in nf_nat_ipv6_csum_recalc()
Dnf_synproxy_core.c444 nskb->csum_start = (unsigned char *)nth - nskb->head; in synproxy_send_tcp()
842 nskb->csum_start = (unsigned char *)nth - nskb->head; in synproxy_send_tcp_ipv6()
/Linux-v5.10/drivers/net/
Dtap.c649 tap16_to_cpu(q, vnet_hdr.csum_start) + in tap_get_user()
653 tap16_to_cpu(q, vnet_hdr.csum_start) + in tap_get_user()
/Linux-v5.10/net/core/
Dskbuff.c1457 skb->csum_start += off; in skb_headers_offset_update()
3932 SKB_GSO_CB(nskb)->csum_start = in skb_segment()
4025 SKB_GSO_CB(nskb)->csum_start = in skb_segment()
4765 u32 csum_start = skb_headroom(skb) + (u32)start; in skb_partial_csum_set() local
4767 if (unlikely(csum_start > U16_MAX || csum_end > skb_headlen(skb))) { in skb_partial_csum_set()
4773 skb->csum_start = csum_start; in skb_partial_csum_set()

123