Lines Matching refs:uh

24 	struct udphdr *uh = udp_hdr(skb);  in __skb_udp_tunnel_segment()  local
42 partial = (__force __wsum)uh->len; in __skb_udp_tunnel_segment()
45 partial = csum_sub(csum_unfold(uh->check), partial); in __skb_udp_tunnel_segment()
118 uh = udp_hdr(skb); in __skb_udp_tunnel_segment()
125 uh->len = htons(skb_shinfo(skb)->gso_size + in __skb_udp_tunnel_segment()
127 skb->head - (unsigned char *)uh); in __skb_udp_tunnel_segment()
129 uh->len = htons(len); in __skb_udp_tunnel_segment()
135 uh->check = ~csum_fold(csum_add(partial, in __skb_udp_tunnel_segment()
139 uh->check = gso_make_checksum(skb, ~uh->check); in __skb_udp_tunnel_segment()
140 if (uh->check == 0) in __skb_udp_tunnel_segment()
141 uh->check = CSUM_MANGLED_0; in __skb_udp_tunnel_segment()
195 struct udphdr *uh; in __udpv4_gso_segment_csum() local
201 uh = udp_hdr(seg); in __udpv4_gso_segment_csum()
204 if (uh->check) { in __udpv4_gso_segment_csum()
205 inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip, in __udpv4_gso_segment_csum()
207 inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport, in __udpv4_gso_segment_csum()
209 if (!uh->check) in __udpv4_gso_segment_csum()
210 uh->check = CSUM_MANGLED_0; in __udpv4_gso_segment_csum()
221 struct udphdr *uh, *uh2; in __udpv4_gso_segment_list_csum() local
225 uh = udp_hdr(seg); in __udpv4_gso_segment_list_csum()
240 &uh2->source, &uh->source); in __udpv4_gso_segment_list_csum()
243 &uh2->dest, &uh->dest); in __udpv4_gso_segment_list_csum()
270 struct udphdr *uh; in __udp_gso_segment() local
280 if (gso_skb->len <= sizeof(*uh) + mss) in __udp_gso_segment()
283 skb_pull(gso_skb, sizeof(*uh)); in __udp_gso_segment()
305 uh = udp_hdr(seg); in __udp_gso_segment()
313 newlen = htons(sizeof(*uh) + mss); in __udp_gso_segment()
314 check = csum16_add(csum16_sub(uh->check, uh->len), newlen); in __udp_gso_segment()
326 uh->len = newlen; in __udp_gso_segment()
327 uh->check = check; in __udp_gso_segment()
332 uh->check = gso_make_checksum(seg, ~check) ? : in __udp_gso_segment()
336 uh = udp_hdr(seg); in __udp_gso_segment()
342 check = csum16_add(csum16_sub(uh->check, uh->len), newlen); in __udp_gso_segment()
344 uh->len = newlen; in __udp_gso_segment()
345 uh->check = check; in __udp_gso_segment()
350 uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0; in __udp_gso_segment()
374 struct udphdr *uh; in udp4_ufo_fragment() local
402 uh = udp_hdr(skb); in udp4_ufo_fragment()
405 uh->check = 0; in udp4_ufo_fragment()
407 uh->check = udp_v4_check(skb->len, iph->saddr, iph->daddr, csum); in udp4_ufo_fragment()
408 if (uh->check == 0) in udp4_ufo_fragment()
409 uh->check = CSUM_MANGLED_0; in udp4_ufo_fragment()
459 struct udphdr *uh = udp_gro_udphdr(skb); in udp_gro_receive_segment() local
467 if (!uh->check) { in udp_gro_receive_segment()
473 ulen = ntohs(uh->len); in udp_gro_receive_segment()
474 if (ulen <= sizeof(*uh) || ulen != skb_gro_len(skb)) { in udp_gro_receive_segment()
488 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source)) { in udp_gro_receive_segment()
519 skb_gro_postpull_rcsum(skb, uh, in udp_gro_receive_segment()
538 struct udphdr *uh, struct sock *sk) in udp_gro_receive() argument
563 (uh->check && skb->ip_summed != CHECKSUM_PARTIAL && in udp_gro_receive()
582 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source) || in udp_gro_receive()
583 (!uh->check ^ !uh2->check)) { in udp_gro_receive()
590 skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr)); in udp_gro_receive()
612 struct udphdr *uh = udp_gro_udphdr(skb); in udp4_gro_receive() local
616 if (unlikely(!uh)) in udp4_gro_receive()
623 if (skb_gro_checksum_validate_zero_check(skb, IPPROTO_UDP, uh->check, in udp4_gro_receive()
626 else if (uh->check) in udp4_gro_receive()
633 sk = udp4_gro_lookup_skb(skb, uh->source, uh->dest); in udp4_gro_receive()
635 pp = udp_gro_receive(head, skb, uh, sk); in udp4_gro_receive()
645 struct udphdr *uh = udp_hdr(skb); in udp_gro_complete_segment() local
647 skb->csum_start = (unsigned char *)uh - skb->head; in udp_gro_complete_segment()
664 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp_gro_complete() local
668 uh->len = newlen; in udp_gro_complete()
671 udp4_lib_lookup_skb, skb, uh->source, uh->dest); in udp_gro_complete()
673 skb_shinfo(skb)->gso_type = uh->check ? SKB_GSO_UDP_TUNNEL_CSUM in udp_gro_complete()
701 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp4_gro_complete() local
705 uh->len = htons(skb->len - nhoff); in udp4_gro_complete()
721 if (uh->check) in udp4_gro_complete()
722 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, in udp4_gro_complete()