Lines Matching refs:uh

23 	struct udphdr *uh = udp_hdr(skb);
35 * We cannot rely on the value contained in uh->len as it is
41 partial = (__force __wsum)uh->len;
44 partial = csum_sub(csum_unfold(uh->check), partial);
114 uh = udp_hdr(skb);
121 uh->len = htons(skb_shinfo(skb)->gso_size +
123 skb->head - (unsigned char *)uh);
125 uh->len = htons(len);
131 uh->check = ~csum_fold(csum_add(partial,
135 uh->check = gso_make_checksum(skb, ~uh->check);
136 if (uh->check == 0)
137 uh->check = CSUM_MANGLED_0;
191 struct udphdr *uh;
197 uh = udp_hdr(seg);
200 if (uh->check) {
201 inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip,
203 inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport,
205 if (!uh->check)
206 uh->check = CSUM_MANGLED_0;
217 struct udphdr *uh, *uh2;
221 uh = udp_hdr(seg);
236 &uh2->source, &uh->source);
239 &uh2->dest, &uh->dest);
266 struct udphdr *uh;
276 if (gso_skb->len <= sizeof(*uh) + mss)
279 skb_pull(gso_skb, sizeof(*uh));
301 uh = udp_hdr(seg);
309 newlen = htons(sizeof(*uh) + mss);
310 check = csum16_add(csum16_sub(uh->check, uh->len), newlen);
322 uh->len = newlen;
323 uh->check = check;
328 uh->check = gso_make_checksum(seg, ~check) ? :
332 uh = udp_hdr(seg);
338 check = csum16_add(csum16_sub(uh->check, uh->len), newlen);
340 uh->len = newlen;
341 uh->check = check;
346 uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0;
370 struct udphdr *uh;
398 uh = udp_hdr(skb);
401 uh->check = 0;
403 uh->check = udp_v4_check(skb->len, iph->saddr, iph->daddr, csum);
404 if (uh->check == 0)
405 uh->check = CSUM_MANGLED_0;
428 struct udphdr *uh = udp_gro_udphdr(skb);
436 if (!uh->check) {
442 ulen = ntohs(uh->len);
443 if (ulen <= sizeof(*uh) || ulen != skb_gro_len(skb)) {
457 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source)) {
488 skb_gro_postpull_rcsum(skb, uh,
507 struct udphdr *uh, struct sock *sk)
530 (uh->check && skb->ip_summed != CHECKSUM_PARTIAL &&
550 if ((*(u32 *)&uh->source != *(u32 *)&uh2->source) ||
551 (!uh->check ^ !uh2->check)) {
558 skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr));
580 struct udphdr *uh = udp_gro_udphdr(skb);
584 if (unlikely(!uh))
591 if (skb_gro_checksum_validate_zero_check(skb, IPPROTO_UDP, uh->check,
594 else if (uh->check)
602 sk = udp4_gro_lookup_skb(skb, uh->source, uh->dest);
604 pp = udp_gro_receive(head, skb, uh, sk);
615 struct udphdr *uh = udp_hdr(skb);
617 skb->csum_start = (unsigned char *)uh - skb->head;
634 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff);
638 uh->len = newlen;
642 udp4_lib_lookup_skb, skb, uh->source, uh->dest);
644 skb_shinfo(skb)->gso_type = uh->check ? SKB_GSO_UDP_TUNNEL_CSUM
668 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff);
671 uh->len = htons(skb->len - nhoff);
687 if (uh->check)
688 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr,