Lines Matching refs:greh
70 struct gre_base_hdr *greh; in gre_gso_segment() local
90 greh = (struct gre_base_hdr *)skb_transport_header(skb); in gre_gso_segment()
91 pcsum = (__sum16 *)(greh + 1); in gre_gso_segment()
114 skb->csum_offset = sizeof(*greh); in gre_gso_segment()
126 const struct gre_base_hdr *greh; in gre_gro_receive() local
139 hlen = off + sizeof(*greh); in gre_gro_receive()
140 greh = skb_gro_header(skb, hlen, off); in gre_gro_receive()
141 if (unlikely(!greh)) in gre_gro_receive()
150 if ((greh->flags & ~(GRE_KEY|GRE_CSUM)) != 0) in gre_gro_receive()
158 if ((greh->flags & GRE_CSUM) && NAPI_GRO_CB(skb)->is_fou) in gre_gro_receive()
161 type = greh->protocol; in gre_gro_receive()
169 if (greh->flags & GRE_KEY) in gre_gro_receive()
172 if (greh->flags & GRE_CSUM) in gre_gro_receive()
177 greh = skb_gro_header_slow(skb, hlen, off); in gre_gro_receive()
178 if (unlikely(!greh)) in gre_gro_receive()
183 if ((greh->flags & GRE_CSUM) && !NAPI_GRO_CB(skb)->flush) { in gre_gro_receive()
207 if (greh2->flags != greh->flags || in gre_gro_receive()
208 greh2->protocol != greh->protocol) { in gre_gro_receive()
212 if (greh->flags & GRE_KEY) { in gre_gro_receive()
214 if (*(__be32 *)(greh2+1) != *(__be32 *)(greh+1)) { in gre_gro_receive()
224 skb_gro_postpull_rcsum(skb, greh, grehlen); in gre_gro_receive()
237 struct gre_base_hdr *greh = (struct gre_base_hdr *)(skb->data + nhoff); in gre_gro_complete() local
239 unsigned int grehlen = sizeof(*greh); in gre_gro_complete()
246 type = greh->protocol; in gre_gro_complete()
247 if (greh->flags & GRE_KEY) in gre_gro_complete()
250 if (greh->flags & GRE_CSUM) in gre_gro_complete()