Lines Matching refs:skb
19 struct sk_buff *skb) in tcp6_gro_receive() argument
22 if (!NAPI_GRO_CB(skb)->flush && in tcp6_gro_receive()
23 skb_gro_checksum_validate(skb, IPPROTO_TCP, in tcp6_gro_receive()
25 NAPI_GRO_CB(skb)->flush = 1; in tcp6_gro_receive()
29 return tcp_gro_receive(head, skb); in tcp6_gro_receive()
32 static int tcp6_gro_complete(struct sk_buff *skb, int thoff) in tcp6_gro_complete() argument
34 const struct ipv6hdr *iph = ipv6_hdr(skb); in tcp6_gro_complete()
35 struct tcphdr *th = tcp_hdr(skb); in tcp6_gro_complete()
37 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, in tcp6_gro_complete()
39 skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV6; in tcp6_gro_complete()
41 return tcp_gro_complete(skb); in tcp6_gro_complete()
44 static struct sk_buff *tcp6_gso_segment(struct sk_buff *skb, in tcp6_gso_segment() argument
49 if (!pskb_may_pull(skb, sizeof(*th))) in tcp6_gso_segment()
52 if (unlikely(skb->ip_summed != CHECKSUM_PARTIAL)) { in tcp6_gso_segment()
53 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in tcp6_gso_segment()
54 struct tcphdr *th = tcp_hdr(skb); in tcp6_gso_segment()
61 skb->ip_summed = CHECKSUM_PARTIAL; in tcp6_gso_segment()
62 __tcp_v6_send_check(skb, &ipv6h->saddr, &ipv6h->daddr); in tcp6_gso_segment()
65 return tcp_gso_segment(skb, features); in tcp6_gso_segment()