Lines Matching +full:4 +full:th

38 	struct tcphdr *th;
44 th = tcp_hdr(seg);
47 inet_proto_csum_replace4(&th->check, seg, *oldip, newip, true);
48 inet_proto_csum_replace2(&th->check, seg, *oldport, newport, false);
57 const struct tcphdr *th;
64 th = tcp_hdr(seg);
69 if (!(*(const u32 *)&th->source ^ *(const u32 *)&th2->source) &&
79 &th2->source, th->source);
82 &th2->dest, th->dest);
108 struct tcphdr *th = tcp_hdr(skb);
110 if (skb_pagelen(skb) - th->doff * 4 == skb_shinfo(skb)->gso_size)
118 struct tcphdr *th = tcp_hdr(skb);
124 th->check = 0;
137 struct tcphdr *th;
148 th = tcp_hdr(skb);
149 thlen = th->doff * 4;
150 if (thlen < sizeof(*th))
197 th = tcp_hdr(skb);
198 seq = ntohl(th->seq);
203 newcheck = ~csum_fold(csum_add(csum_unfold(th->check), delta));
208 th->fin = th->psh = 0;
209 th->check = newcheck;
212 gso_reset_checksum(skb, ~th->check);
214 th->check = gso_make_checksum(skb, ~th->check);
223 th = tcp_hdr(skb);
225 th->seq = htonl(seq);
227 th->cwr &= ecn_cwr_mask;
255 th->check = ~csum_fold(csum_add(csum_unfold(th->check), delta));
257 gso_reset_checksum(skb, ~th->check);
259 th->check = gso_make_checksum(skb, ~th->check);
264 struct sk_buff *tcp_gro_lookup(struct list_head *head, struct tcphdr *th)
274 if (*(u32 *)&th->source ^ *(u32 *)&th2->source) {
288 struct tcphdr *th;
291 hlen = off + sizeof(*th);
292 th = skb_gro_header(skb, hlen, off);
293 if (unlikely(!th))
296 thlen = th->doff * 4;
297 if (thlen < sizeof(*th))
302 th = skb_gro_header_slow(skb, hlen, off);
303 if (unlikely(!th))
309 return th;
313 struct tcphdr *th)
315 unsigned int thlen = th->doff * 4;
326 flags = tcp_flag_word(th);
328 p = tcp_gro_lookup(head, th);
336 flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
337 for (i = sizeof(*th); i < thlen; i += 4)
338 flush |= *(u32 *)((u8 *)th + i) ^
341 flush |= gro_receive_network_flush(th, th2, p);
354 flush |= (ntohl(th2->seq) + skb_gro_len(p)) ^ ntohl(th->seq);
398 struct tcphdr *th = tcp_hdr(skb);
404 skb->csum_start = (unsigned char *)th - skb->head;
411 if (th->cwr)
417 struct tcphdr *th)
428 p = tcp_gro_lookup(head, th);
437 sk = __inet_lookup_established(net, iph->saddr, th->source,
438 iph->daddr, ntohs(th->dest),
448 struct tcphdr *th;
456 th = tcp_gro_pull_header(skb);
457 if (!th)
460 tcp4_check_fraglist_gro(head, skb, th);
462 return tcp_gro_receive(head, skb, th);
473 struct tcphdr *th = tcp_hdr(skb);
484 th->check = ~tcp_v4_check(skb->len - thoff, iph->saddr,