Lines Matching refs:uh

25 	struct udphdr *uh = udp_hdr(skb);
37 * We cannot rely on the value contained in uh->len as it is
43 partial = (__force __wsum)uh->len;
46 partial = csum_sub(csum_unfold(uh->check), partial);
119 uh = udp_hdr(skb);
126 uh->len = htons(skb_shinfo(skb)->gso_size +
128 skb->head - (unsigned char *)uh);
130 uh->len = htons(len);
136 uh->check = ~csum_fold(csum_add(partial,
140 uh->check = gso_make_checksum(skb, ~uh->check);
141 if (uh->check == 0)
142 uh->check = CSUM_MANGLED_0;
196 struct udphdr *uh;
202 uh = udp_hdr(seg);
205 if (uh->check) {
206 inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip,
208 inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport,
210 if (!uh->check)
211 uh->check = CSUM_MANGLED_0;
222 struct udphdr *uh, *uh2;
226 uh = udp_hdr(seg);
241 &uh2->source, &uh->source);
244 &uh2->dest, &uh->dest);
271 struct udphdr *uh;
278 if (gso_skb->len <= sizeof(*uh) + mss)
283 skb_shinfo(gso_skb)->gso_segs = DIV_ROUND_UP(gso_skb->len - sizeof(*uh),
291 skb_pull(gso_skb, sizeof(*uh));
313 uh = udp_hdr(seg);
321 newlen = htons(sizeof(*uh) + mss);
322 check = csum16_add(csum16_sub(uh->check, uh->len), newlen);
334 uh->len = newlen;
335 uh->check = check;
340 uh->check = gso_make_checksum(seg, ~check) ? :
344 uh = udp_hdr(seg);
350 check = csum16_add(csum16_sub(uh->check, uh->len), newlen);
352 uh->len = newlen;
353 uh->check = check;
358 uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;
382 struct udphdr *uh;
410 uh = udp_hdr(skb);
413 uh->check = 0;
415 uh->check = udp_v4_check(skb->len, iph->saddr, iph->daddr, csum);
416 if (uh->check == 0)
417 uh->check = CSUM_MANGLED_0;
467 struct udphdr *uh = udp_gro_udphdr(skb);
475 if (!uh->check) {
481 ulen = ntohs(uh->len);
482 if (ulen <= sizeof(*uh) || ulen != skb_gro_len(skb)) {
496 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source)) {
527 skb_gro_postpull_rcsum(skb, uh,
546 struct udphdr *uh, struct sock *sk)
571 (uh->check && skb->ip_summed != CHECKSUM_PARTIAL &&
590 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source) ||
591 (!uh->check ^ !uh2->check)) {
598 skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr));
624 struct udphdr *uh = udp_gro_udphdr(skb);
628 if (unlikely(!uh))
635 if (skb_gro_checksum_validate_zero_check(skb, IPPROTO_UDP, uh->check,
638 else if (uh->check)
645 sk = udp4_gro_lookup_skb(skb, uh->source, uh->dest);
647 pp = udp_gro_receive(head, skb, uh, sk);
657 struct udphdr *uh = udp_hdr(skb);
659 skb->csum_start = (unsigned char *)uh - skb->head;
676 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff);
680 uh->len = newlen;
683 udp4_lib_lookup_skb, skb, uh->source, uh->dest);
685 skb_shinfo(skb)->gso_type = uh->check ? SKB_GSO_UDP_TUNNEL_CSUM
713 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff);
717 uh->len = htons(skb->len - nhoff);
733 if (uh->check)
734 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr,