Lines Matching refs:nhoff
42 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff)
44 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off))
109 __u32 nhoff = skb->cb[0];
120 nhoff + offsetof(struct gre_hdr, flags));
122 nhoff + offsetof(struct gre_hdr, proto));
127 nhoff += 4;
129 nhoff += 4;
131 nhoff += 4;
133 nhoff += 4;
135 skb->cb[0] = nhoff;
147 g->flow.ports = load_word(skb, nhoff);
161 __u32 nhoff, verlen, ip_proto;
166 nhoff = skb->cb[0];
168 if (unlikely(ip_is_fragment(skb, nhoff)))
171 ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol));
174 g->flow.src = load_word(skb, nhoff + offsetof(struct iphdr, saddr));
175 g->flow.dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr));
178 verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/);
179 nhoff += (verlen & 0xF) << 2;
181 skb->cb[0] = nhoff;
190 __u32 nhoff, ip_proto;
195 nhoff = skb->cb[0];
198 nhoff + offsetof(struct ipv6hdr, nexthdr));
200 nhoff + offsetof(struct ipv6hdr, saddr));
202 nhoff + offsetof(struct ipv6hdr, daddr));
203 nhoff += sizeof(struct ipv6hdr);
205 skb->cb[0] = nhoff;
213 __u32 nhoff, proto;
215 nhoff = skb->cb[0];
217 proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
219 nhoff += sizeof(struct vlan_hdr);
220 skb->cb[0] = nhoff;
230 __u32 nhoff, label;
232 nhoff = skb->cb[0];
234 label = load_word(skb, nhoff);
235 nhoff += sizeof(struct mpls_label);
236 skb->cb[0] = nhoff;
239 __u8 verlen = load_byte(skb, nhoff);
296 __u32 nhoff = ETH_HLEN;
299 skb->cb[0] = nhoff;