Lines Matching refs:nhoff
77 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff)
79 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off))
144 __u32 nhoff = skb->cb[0];
155 nhoff + offsetof(struct gre_hdr, flags));
157 nhoff + offsetof(struct gre_hdr, proto));
162 nhoff += 4;
164 nhoff += 4;
166 nhoff += 4;
168 nhoff += 4;
170 skb->cb[0] = nhoff;
182 g->flow.ports = load_word(skb, nhoff);
195 __u32 nhoff, verlen, ip_proto;
200 nhoff = skb->cb[0];
202 if (unlikely(ip_is_fragment(skb, nhoff)))
205 ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol));
208 g->flow.src = load_word(skb, nhoff + offsetof(struct iphdr, saddr));
209 g->flow.dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr));
212 verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/);
213 nhoff += (verlen & 0xF) << 2;
215 skb->cb[0] = nhoff;
223 __u32 nhoff, ip_proto;
228 nhoff = skb->cb[0];
231 nhoff + offsetof(struct ipv6hdr, nexthdr));
233 nhoff + offsetof(struct ipv6hdr, saddr));
235 nhoff + offsetof(struct ipv6hdr, daddr));
236 nhoff += sizeof(struct ipv6hdr);
238 skb->cb[0] = nhoff;
245 __u32 nhoff, proto;
247 nhoff = skb->cb[0];
249 proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
251 nhoff += sizeof(struct vlan_hdr);
252 skb->cb[0] = nhoff;
261 __u32 nhoff, label;
263 nhoff = skb->cb[0];
265 label = load_word(skb, nhoff);
266 nhoff += sizeof(struct mpls_label);
267 skb->cb[0] = nhoff;
270 __u8 verlen = load_byte(skb, nhoff);
285 __u32 nhoff = ETH_HLEN;
288 skb->cb[0] = nhoff;