nhoff 371 drivers/net/ethernet/mellanox/mlx4/en_netdev.c int nhoff = skb_network_offset(skb); nhoff 377 drivers/net/ethernet/mellanox/mlx4/en_netdev.c ip = (const struct iphdr *)(skb->data + nhoff); nhoff 383 drivers/net/ethernet/mellanox/mlx4/en_netdev.c ports = (const __be16 *)(skb->data + nhoff + 4 * ip->ihl); nhoff 538 drivers/net/geneve.c int nhoff) nhoff 546 drivers/net/geneve.c gh = (struct genevehdr *)(skb->data + nhoff); nhoff 553 drivers/net/geneve.c err = ptype->callbacks.gro_complete(skb, nhoff + gh_len); nhoff 557 drivers/net/geneve.c skb_set_inner_mac_header(skb, nhoff + gh_len); nhoff 788 drivers/net/vxlan.c static int vxlan_gro_complete(struct sock *sk, struct sk_buff *skb, int nhoff) nhoff 793 drivers/net/vxlan.c return eth_gro_complete(skb, nhoff + sizeof(struct vxlanhdr)); nhoff 60 include/linux/etherdevice.h int eth_gro_complete(struct sk_buff *skb, int nhoff); nhoff 125 include/linux/ipv6.h __u16 nhoff; nhoff 2377 include/linux/netdevice.h int (*gro_complete)(struct sk_buff *skb, int nhoff); nhoff 1282 include/linux/skbuff.h __be16 proto, int nhoff, int hlen, unsigned int flags); nhoff 1288 include/linux/skbuff.h void *data, __be16 proto, int nhoff, int hlen, nhoff 1312 include/linux/skbuff.h __be16 proto, int nhoff, int hlen, nhoff 1317 include/linux/skbuff.h data, proto, nhoff, hlen, flags); nhoff 85 include/linux/udp.h int nhoff); nhoff 50 include/net/inet_common.h int inet_gro_complete(struct sk_buff *skb, int nhoff); nhoff 182 include/net/netfilter/nf_conntrack.h bool nf_ct_get_tuplepr(const struct sk_buff *skb, unsigned int nhoff, nhoff 171 include/net/udp.h int udp_gro_complete(struct sk_buff *skb, int nhoff, udp_lookup_t lookup); nhoff 75 include/net/udp_tunnel.h int nhoff); nhoff 3553 include/uapi/linux/bpf.h __u16 nhoff; nhoff 509 net/8021q/vlan_core.c static int vlan_gro_complete(struct sk_buff *skb, int nhoff) nhoff 511 net/8021q/vlan_core.c struct vlan_hdr *vhdr = (struct vlan_hdr *)(skb->data + nhoff); nhoff 519 net/8021q/vlan_core.c err = ptype->callbacks.gro_complete(skb, nhoff + sizeof(*vhdr)); nhoff 196 net/bridge/netfilter/nf_conntrack_bridge.c int nhoff, len; nhoff 198 net/bridge/netfilter/nf_conntrack_bridge.c nhoff = skb_network_offset(skb); nhoff 205 net/bridge/netfilter/nf_conntrack_bridge.c if (skb->len < nhoff + len || nhoff 215 net/bridge/netfilter/nf_conntrack_bridge.c int nhoff, len; nhoff 217 net/bridge/netfilter/nf_conntrack_bridge.c nhoff = skb_network_offset(skb); nhoff 222 net/bridge/netfilter/nf_conntrack_bridge.c len = ntohs(hdr->payload_len) + sizeof(struct ipv6hdr) + nhoff; nhoff 407 net/core/flow_dissector.c void *target_container, void *data, int nhoff, int hlen) nhoff 418 net/core/flow_dissector.c hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, nhoff 453 net/core/flow_dissector.c void *target_container, void *data, int nhoff, int hlen) nhoff 468 net/core/flow_dissector.c arp = __skb_header_pointer(skb, nhoff, sizeof(_arp), data, nhoff 481 net/core/flow_dissector.c arp_eth = __skb_header_pointer(skb, nhoff + sizeof(_arp), nhoff 705 net/core/flow_dissector.c void *target_container, void *data, int nhoff, nhoff 723 net/core/flow_dissector.c key_ports->ports = __skb_flow_get_ports(skb, nhoff, ip_proto, nhoff 844 net/core/flow_dissector.c __be16 proto, int nhoff, int hlen, unsigned int flags) nhoff 852 net/core/flow_dissector.c flow_keys->nhoff = nhoff; nhoff 853 net/core/flow_dissector.c flow_keys->thoff = flow_keys->nhoff; nhoff 867 net/core/flow_dissector.c flow_keys->nhoff = clamp_t(u16, flow_keys->nhoff, nhoff, hlen); nhoff 869 net/core/flow_dissector.c flow_keys->nhoff, hlen); nhoff 897 net/core/flow_dissector.c void *data, __be16 proto, int nhoff, int hlen, nhoff 917 net/core/flow_dissector.c nhoff = skb_network_offset(skb); nhoff 929 net/core/flow_dissector.c nhoff += offset; nhoff 981 net/core/flow_dissector.c ret = bpf_flow_dissect(attached, &ctx, n_proto, nhoff, nhoff 1010 net/core/flow_dissector.c iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); nhoff 1016 net/core/flow_dissector.c nhoff += iph->ihl * 4; nhoff 1056 net/core/flow_dissector.c iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); nhoff 1063 net/core/flow_dissector.c nhoff += sizeof(struct ipv6hdr); nhoff 1110 net/core/flow_dissector.c vlan = __skb_header_pointer(skb, nhoff, sizeof(_vlan), nhoff 1118 net/core/flow_dissector.c nhoff += sizeof(*vlan); nhoff 1156 net/core/flow_dissector.c hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, hlen, &_hdr); nhoff 1163 net/core/flow_dissector.c nhoff += PPPOE_SES_HLEN; nhoff 1182 net/core/flow_dissector.c hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), nhoff 1205 net/core/flow_dissector.c nhoff, hlen); nhoff 1208 net/core/flow_dissector.c if ((hlen - nhoff) < FCOE_HEADER_LEN) { nhoff 1213 net/core/flow_dissector.c nhoff += FCOE_HEADER_LEN; nhoff 1221 net/core/flow_dissector.c nhoff, hlen); nhoff 1226 net/core/flow_dissector.c &proto, &nhoff, hlen, flags); nhoff 1257 net/core/flow_dissector.c &proto, &nhoff, &hlen, flags); nhoff 1268 net/core/flow_dissector.c opthdr = __skb_header_pointer(skb, nhoff, sizeof(_opthdr), nhoff 1276 net/core/flow_dissector.c nhoff += (opthdr[1] + 1) << 3; nhoff 1287 net/core/flow_dissector.c fh = __skb_header_pointer(skb, nhoff, sizeof(_fh), nhoff 1297 net/core/flow_dissector.c nhoff += sizeof(_fh); nhoff 1343 net/core/flow_dissector.c data, nhoff, hlen); nhoff 1352 net/core/flow_dissector.c data, nhoff, ip_proto, hlen); nhoff 1359 net/core/flow_dissector.c key_icmp->icmp = skb_flow_get_be16(skb, nhoff, data, hlen); nhoff 1384 net/core/flow_dissector.c key_control->thoff = min_t(u16, nhoff, skb ? skb->len : hlen); nhoff 507 net/ethernet/eth.c int eth_gro_complete(struct sk_buff *skb, int nhoff) nhoff 509 net/ethernet/eth.c struct ethhdr *eh = (struct ethhdr *)(skb->data + nhoff); nhoff 515 net/ethernet/eth.c skb_set_inner_mac_header(skb, nhoff); nhoff 520 net/ethernet/eth.c err = ptype->callbacks.gro_complete(skb, nhoff + nhoff 1306 net/ipv4/af_inet.c int nhoff; nhoff 1311 net/ipv4/af_inet.c nhoff = skb_network_header(skb) - skb_mac_header(skb); nhoff 1357 net/ipv4/af_inet.c iph = (struct iphdr *)(skb_mac_header(skb) + nhoff); nhoff 1362 net/ipv4/af_inet.c offset += skb->len - nhoff - ihl; nhoff 1363 net/ipv4/af_inet.c tot_len = skb->len - nhoff; nhoff 1375 net/ipv4/af_inet.c tot_len = skb->len - nhoff; nhoff 1379 net/ipv4/af_inet.c tot_len = skb->len - nhoff; nhoff 1581 net/ipv4/af_inet.c int inet_gro_complete(struct sk_buff *skb, int nhoff) nhoff 1583 net/ipv4/af_inet.c __be16 newlen = htons(skb->len - nhoff); nhoff 1584 net/ipv4/af_inet.c struct iphdr *iph = (struct iphdr *)(skb->data + nhoff); nhoff 1591 net/ipv4/af_inet.c skb_set_inner_network_header(skb, nhoff); nhoff 1608 net/ipv4/af_inet.c skb, nhoff + sizeof(*iph)); nhoff 1617 net/ipv4/af_inet.c static int ipip_gro_complete(struct sk_buff *skb, int nhoff) nhoff 1621 net/ipv4/af_inet.c return inet_gro_complete(skb, nhoff); nhoff 264 net/ipv4/fou.c int nhoff) nhoff 277 net/ipv4/fou.c err = ops->callbacks.gro_complete(skb, nhoff); nhoff 279 net/ipv4/fou.c skb_set_inner_mac_header(skb, nhoff); nhoff 458 net/ipv4/fou.c static int gue_gro_complete(struct sock *sk, struct sk_buff *skb, int nhoff) nhoff 461 net/ipv4/fou.c struct guehdr *guehdr = (struct guehdr *)(skb->data + nhoff); nhoff 494 net/ipv4/fou.c err = ops->callbacks.gro_complete(skb, nhoff + guehlen); nhoff 496 net/ipv4/fou.c skb_set_inner_mac_header(skb, nhoff + guehlen); nhoff 227 net/ipv4/gre_offload.c static int gre_gro_complete(struct sk_buff *skb, int nhoff) nhoff 229 net/ipv4/gre_offload.c struct gre_base_hdr *greh = (struct gre_base_hdr *)(skb->data + nhoff); nhoff 248 net/ipv4/gre_offload.c err = ptype->callbacks.gro_complete(skb, nhoff + grehlen); nhoff 252 net/ipv4/gre_offload.c skb_set_inner_mac_header(skb, nhoff + grehlen); nhoff 501 net/ipv4/ip_gre.c int nhoff; nhoff 531 net/ipv4/ip_gre.c nhoff = skb_network_header(skb) - skb_mac_header(skb); nhoff 533 net/ipv4/ip_gre.c (ntohs(ip_hdr(skb)->tot_len) > skb->len - nhoff)) nhoff 44 net/ipv4/netfilter/nf_log_arp.c const struct sk_buff *skb, unsigned int nhoff) nhoff 507 net/ipv4/udp_offload.c int udp_gro_complete(struct sk_buff *skb, int nhoff, nhoff 510 net/ipv4/udp_offload.c __be16 newlen = htons(skb->len - nhoff); nhoff 511 net/ipv4/udp_offload.c struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); nhoff 531 net/ipv4/udp_offload.c nhoff + sizeof(struct udphdr)); nhoff 542 net/ipv4/udp_offload.c INDIRECT_CALLABLE_SCOPE int udp4_gro_complete(struct sk_buff *skb, int nhoff) nhoff 545 net/ipv4/udp_offload.c struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); nhoff 548 net/ipv4/udp_offload.c uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, nhoff 551 net/ipv4/udp_offload.c return udp_gro_complete(skb, nhoff, udp4_lib_lookup_skb); nhoff 57 net/ipv6/esp6_offload.c int nhoff; nhoff 94 net/ipv6/esp6_offload.c nhoff = esp6_nexthdr_esp_offset(ipv6_hdr(skb), offset); nhoff 95 net/ipv6/esp6_offload.c if (!nhoff) nhoff 98 net/ipv6/esp6_offload.c IP6CB(skb)->nhoff = nhoff; nhoff 312 net/ipv6/exthdrs.c opt->nhoff = dstbuf; nhoff 314 net/ipv6/exthdrs.c opt->nhoff = opt->dst1; nhoff 409 net/ipv6/exthdrs.c opt->nhoff = (&hdr->nexthdr) - skb_network_header(skb); nhoff 537 net/ipv6/exthdrs.c opt->nhoff = (&hdr->nexthdr) - skb_network_header(skb); nhoff 850 net/ipv6/exthdrs.c opt->nhoff = sizeof(struct ipv6hdr); nhoff 77 net/ipv6/ila/ila_common.c size_t nhoff = sizeof(struct ipv6hdr); nhoff 83 net/ipv6/ila/ila_common.c if (likely(pskb_may_pull(skb, nhoff + sizeof(struct tcphdr)))) { nhoff 85 net/ipv6/ila/ila_common.c (skb_network_header(skb) + nhoff); nhoff 93 net/ipv6/ila/ila_common.c if (likely(pskb_may_pull(skb, nhoff + sizeof(struct udphdr)))) { nhoff 95 net/ipv6/ila/ila_common.c (skb_network_header(skb) + nhoff); nhoff 108 net/ipv6/ila/ila_common.c nhoff + sizeof(struct icmp6hdr)))) { nhoff 110 net/ipv6/ila/ila_common.c (skb_network_header(skb) + nhoff); nhoff 925 net/ipv6/ip6_gre.c int nhoff; nhoff 942 net/ipv6/ip6_gre.c nhoff = skb_network_header(skb) - skb_mac_header(skb); nhoff 944 net/ipv6/ip6_gre.c (ntohs(ip_hdr(skb)->tot_len) > skb->len - nhoff)) nhoff 237 net/ipv6/ip6_input.c IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr); nhoff 342 net/ipv6/ip6_input.c unsigned int nhoff; nhoff 351 net/ipv6/ip6_input.c nhoff = IP6CB(skb)->nhoff; nhoff 355 net/ipv6/ip6_input.c nexthdr = skb_network_header(skb)[nhoff]; nhoff 432 net/ipv6/ip6_input.c ICMPV6_UNK_NEXTHDR, nhoff); nhoff 83 net/ipv6/ip6_offload.c int nhoff; nhoff 87 net/ipv6/ip6_offload.c nhoff = skb_network_header(skb) - skb_mac_header(skb); nhoff 122 net/ipv6/ip6_offload.c ipv6h = (struct ipv6hdr *)(skb_mac_header(skb) + nhoff); nhoff 128 net/ipv6/ip6_offload.c payload_len = skb->len - nhoff - sizeof(*ipv6h); nhoff 324 net/ipv6/ip6_offload.c INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff) nhoff 327 net/ipv6/ip6_offload.c struct ipv6hdr *iph = (struct ipv6hdr *)(skb->data + nhoff); nhoff 332 net/ipv6/ip6_offload.c skb_set_inner_network_header(skb, nhoff); nhoff 335 net/ipv6/ip6_offload.c iph->payload_len = htons(skb->len - nhoff - sizeof(*iph)); nhoff 339 net/ipv6/ip6_offload.c nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); nhoff 344 net/ipv6/ip6_offload.c udp6_gro_complete, skb, nhoff); nhoff 352 net/ipv6/ip6_offload.c static int sit_gro_complete(struct sk_buff *skb, int nhoff) nhoff 356 net/ipv6/ip6_offload.c return ipv6_gro_complete(skb, nhoff); nhoff 359 net/ipv6/ip6_offload.c static int ip6ip6_gro_complete(struct sk_buff *skb, int nhoff) nhoff 363 net/ipv6/ip6_offload.c return ipv6_gro_complete(skb, nhoff); nhoff 366 net/ipv6/ip6_offload.c static int ip4ip6_gro_complete(struct sk_buff *skb, int nhoff) nhoff 370 net/ipv6/ip6_offload.c return inet_gro_complete(skb, nhoff); nhoff 401 net/ipv6/ip6_tunnel.c unsigned int nhoff = raw - skb->data; nhoff 402 net/ipv6/ip6_tunnel.c unsigned int off = nhoff + sizeof(*ipv6h); nhoff 445 net/ipv6/ip6_tunnel.c return i + off - nhoff; nhoff 170 net/ipv6/netfilter/nf_conntrack_reasm.c const struct frag_hdr *fhdr, int nhoff) nhoff 280 net/ipv6/netfilter/nf_conntrack_reasm.c fq->nhoffset = nhoff; nhoff 442 net/ipv6/netfilter/nf_conntrack_reasm.c int fhoff, nhoff, ret; nhoff 454 net/ipv6/netfilter/nf_conntrack_reasm.c if (find_prev_fhdr(skb, &prevhdr, &nhoff, &fhoff) < 0) nhoff 474 net/ipv6/netfilter/nf_conntrack_reasm.c ret = nf_ct_frag6_queue(fq, skb, fhdr, nhoff); nhoff 156 net/ipv6/output_core.c IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr); nhoff 105 net/ipv6/reassembly.c struct frag_hdr *fhdr, int nhoff, nhoff 207 net/ipv6/reassembly.c fq->nhoffset = nhoff; nhoff 252 net/ipv6/reassembly.c unsigned int nhoff; nhoff 275 net/ipv6/reassembly.c nhoff = fq->nhoffset; nhoff 276 net/ipv6/reassembly.c skb_network_header(skb)[nhoff] = skb_transport_header(skb)[0]; nhoff 290 net/ipv6/reassembly.c IP6CB(skb)->nhoff = nhoff; nhoff 349 net/ipv6/reassembly.c IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb); nhoff 363 net/ipv6/reassembly.c ret = ip6_frag_queue(fq, skb, fhdr, IP6CB(skb)->nhoff, nhoff 142 net/ipv6/udp_offload.c INDIRECT_CALLABLE_SCOPE int udp6_gro_complete(struct sk_buff *skb, int nhoff) nhoff 145 net/ipv6/udp_offload.c struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); nhoff 148 net/ipv6/udp_offload.c uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, nhoff 151 net/ipv6/udp_offload.c return udp_gro_complete(skb, nhoff, udp6_lib_lookup_skb); nhoff 48 net/ipv6/xfrm6_input.c skb_network_header(skb)[IP6CB(skb)->nhoff] = nhoff 74 net/ipv6/xfrm6_input.c return xfrm6_rcv_spi(skb, skb_network_header(skb)[IP6CB(skb)->nhoff], nhoff 219 net/ipv6/xfrm6_tunnel.c return skb_network_header(skb)[IP6CB(skb)->nhoff]; nhoff 241 net/netfilter/nf_conntrack_core.c unsigned int nhoff, nhoff 257 net/netfilter/nf_conntrack_core.c nhoff += offsetof(struct iphdr, saddr); nhoff 261 net/netfilter/nf_conntrack_core.c nhoff += offsetof(struct ipv6hdr, saddr); nhoff 268 net/netfilter/nf_conntrack_core.c ap = skb_header_pointer(skb, nhoff, size, _addrs); nhoff 319 net/netfilter/nf_conntrack_core.c static int ipv4_get_l4proto(const struct sk_buff *skb, unsigned int nhoff, nhoff 326 net/netfilter/nf_conntrack_core.c iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); nhoff 336 net/netfilter/nf_conntrack_core.c dataoff = nhoff + (iph->ihl << 2); nhoff 342 net/netfilter/nf_conntrack_core.c nhoff, iph->ihl << 2, skb->len); nhoff 349 net/netfilter/nf_conntrack_core.c static int ipv6_get_l4proto(const struct sk_buff *skb, unsigned int nhoff, nhoff 353 net/netfilter/nf_conntrack_core.c unsigned int extoff = nhoff + sizeof(struct ipv6hdr); nhoff 357 net/netfilter/nf_conntrack_core.c if (skb_copy_bits(skb, nhoff + offsetof(struct ipv6hdr, nexthdr), nhoff 378 net/netfilter/nf_conntrack_core.c unsigned int nhoff, u8 pf, u8 *l4num) nhoff 382 net/netfilter/nf_conntrack_core.c return ipv4_get_l4proto(skb, nhoff, l4num); nhoff 385 net/netfilter/nf_conntrack_core.c return ipv6_get_l4proto(skb, nhoff, l4num); nhoff 394 net/netfilter/nf_conntrack_core.c bool nf_ct_get_tuplepr(const struct sk_buff *skb, unsigned int nhoff, nhoff 401 net/netfilter/nf_conntrack_core.c protoff = get_l4proto(skb, nhoff, l3num, &protonum); nhoff 405 net/netfilter/nf_conntrack_core.c return nf_ct_get_tuple(skb, nhoff, protoff, l3num, protonum, net, tuple); nhoff 132 net/netfilter/xt_HMARK.c hmark_set_tuple_ports(const struct sk_buff *skb, unsigned int nhoff, nhoff 141 net/netfilter/xt_HMARK.c nhoff += protoff; nhoff 142 net/netfilter/xt_HMARK.c if (skb_copy_bits(skb, nhoff, &t->uports, sizeof(t->uports)) < 0) nhoff 170 net/netfilter/xt_HMARK.c unsigned int nhoff = 0; nhoff 175 net/netfilter/xt_HMARK.c nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); nhoff 182 net/netfilter/xt_HMARK.c if (get_inner6_hdr(skb, &nhoff)) { nhoff 183 net/netfilter/xt_HMARK.c ip6 = skb_header_pointer(skb, nhoff, sizeof(_ip6), &_ip6); nhoff 188 net/netfilter/xt_HMARK.c nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); nhoff 206 net/netfilter/xt_HMARK.c hmark_set_tuple_ports(skb, nhoff, t, info); nhoff 231 net/netfilter/xt_HMARK.c static int get_inner_hdr(const struct sk_buff *skb, int iphsz, int *nhoff) nhoff 237 net/netfilter/xt_HMARK.c icmph = skb_header_pointer(skb, *nhoff + iphsz, sizeof(_ih), &_ih); nhoff 249 net/netfilter/xt_HMARK.c *nhoff += iphsz + sizeof(_ih); nhoff 258 net/netfilter/xt_HMARK.c int nhoff = skb_network_offset(skb); nhoff 260 net/netfilter/xt_HMARK.c ip = (struct iphdr *) (skb->data + nhoff); nhoff 263 net/netfilter/xt_HMARK.c if (get_inner_hdr(skb, ip->ihl * 4, &nhoff)) { nhoff 264 net/netfilter/xt_HMARK.c ip = skb_header_pointer(skb, nhoff, sizeof(_ip), &_ip); nhoff 286 net/netfilter/xt_HMARK.c hmark_set_tuple_ports(skb, (ip->ihl * 4) + nhoff, t, info); nhoff 82 net/nsh/nsh.c int nhoff; nhoff 86 net/nsh/nsh.c nhoff = skb->network_header - skb->mac_header; nhoff 111 net/nsh/nsh.c skb->network_header - nhoff, nhoff 119 net/nsh/nsh.c skb_set_mac_header(skb, -nhoff); nhoff 3380 net/xfrm/xfrm_policy.c u16 nhoff = IP6CB(skb)->nhoff; nhoff 3384 net/xfrm/xfrm_policy.c if (!nhoff) nhoff 3385 net/xfrm/xfrm_policy.c nhoff = offsetof(struct ipv6hdr, nexthdr); nhoff 3387 net/xfrm/xfrm_policy.c nexthdr = nh[nhoff]; nhoff 20 samples/bpf/parse_ldabs.c static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) nhoff 22 samples/bpf/parse_ldabs.c return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) nhoff 45 samples/bpf/sockex2_kern.c static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) nhoff 47 samples/bpf/sockex2_kern.c return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) nhoff 61 samples/bpf/sockex2_kern.c static inline __u64 parse_ip(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, nhoff 66 samples/bpf/sockex2_kern.c if (unlikely(ip_is_fragment(skb, nhoff))) nhoff 69 samples/bpf/sockex2_kern.c *ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol)); nhoff 72 samples/bpf/sockex2_kern.c flow->src = load_word(skb, nhoff + offsetof(struct iphdr, saddr)); nhoff 73 samples/bpf/sockex2_kern.c flow->dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr)); nhoff 76 samples/bpf/sockex2_kern.c verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/); nhoff 78 samples/bpf/sockex2_kern.c nhoff += 20; nhoff 80 samples/bpf/sockex2_kern.c nhoff += (verlen & 0xF) << 2; nhoff 82 samples/bpf/sockex2_kern.c return nhoff; nhoff 85 samples/bpf/sockex2_kern.c static inline __u64 parse_ipv6(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, nhoff 89 samples/bpf/sockex2_kern.c nhoff + offsetof(struct ipv6hdr, nexthdr)); nhoff 91 samples/bpf/sockex2_kern.c nhoff + offsetof(struct ipv6hdr, saddr)); nhoff 93 samples/bpf/sockex2_kern.c nhoff + offsetof(struct ipv6hdr, daddr)); nhoff 94 samples/bpf/sockex2_kern.c nhoff += sizeof(struct ipv6hdr); nhoff 96 samples/bpf/sockex2_kern.c return nhoff; nhoff 102 samples/bpf/sockex2_kern.c __u64 nhoff = ETH_HLEN; nhoff 108 samples/bpf/sockex2_kern.c proto = load_half(skb, nhoff + offsetof(struct vlan_hdr, nhoff 110 samples/bpf/sockex2_kern.c nhoff += sizeof(struct vlan_hdr); nhoff 114 samples/bpf/sockex2_kern.c proto = load_half(skb, nhoff + offsetof(struct vlan_hdr, nhoff 116 samples/bpf/sockex2_kern.c nhoff += sizeof(struct vlan_hdr); nhoff 120 samples/bpf/sockex2_kern.c nhoff = parse_ip(skb, nhoff, &ip_proto, flow); nhoff 122 samples/bpf/sockex2_kern.c nhoff = parse_ipv6(skb, nhoff, &ip_proto, flow); nhoff 134 samples/bpf/sockex2_kern.c nhoff + offsetof(struct gre_hdr, flags)); nhoff 136 samples/bpf/sockex2_kern.c nhoff + offsetof(struct gre_hdr, proto)); nhoff 142 samples/bpf/sockex2_kern.c nhoff += 4; nhoff 144 samples/bpf/sockex2_kern.c nhoff += 4; nhoff 146 samples/bpf/sockex2_kern.c nhoff += 4; nhoff 148 samples/bpf/sockex2_kern.c nhoff += 4; nhoff 152 samples/bpf/sockex2_kern.c nhoff + offsetof(struct vlan_hdr, nhoff 154 samples/bpf/sockex2_kern.c nhoff += sizeof(struct vlan_hdr); nhoff 158 samples/bpf/sockex2_kern.c nhoff = parse_ip(skb, nhoff, &ip_proto, flow); nhoff 160 samples/bpf/sockex2_kern.c nhoff = parse_ipv6(skb, nhoff, &ip_proto, flow); nhoff 166 samples/bpf/sockex2_kern.c nhoff = parse_ip(skb, nhoff, &ip_proto, flow); nhoff 169 samples/bpf/sockex2_kern.c nhoff = parse_ipv6(skb, nhoff, &ip_proto, flow); nhoff 178 samples/bpf/sockex2_kern.c nhoff += poff; nhoff 179 samples/bpf/sockex2_kern.c flow->ports = load_word(skb, nhoff); nhoff 182 samples/bpf/sockex2_kern.c flow->thoff = (__u16) nhoff; nhoff 74 samples/bpf/sockex3_kern.c static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) nhoff 76 samples/bpf/sockex3_kern.c return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) nhoff 141 samples/bpf/sockex3_kern.c __u32 nhoff = skb->cb[0]; nhoff 152 samples/bpf/sockex3_kern.c nhoff + offsetof(struct gre_hdr, flags)); nhoff 154 samples/bpf/sockex3_kern.c nhoff + offsetof(struct gre_hdr, proto)); nhoff 159 samples/bpf/sockex3_kern.c nhoff += 4; nhoff 161 samples/bpf/sockex3_kern.c nhoff += 4; nhoff 163 samples/bpf/sockex3_kern.c nhoff += 4; nhoff 165 samples/bpf/sockex3_kern.c nhoff += 4; nhoff 167 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 179 samples/bpf/sockex3_kern.c g->flow.ports = load_word(skb, nhoff); nhoff 192 samples/bpf/sockex3_kern.c __u32 nhoff, verlen, ip_proto; nhoff 197 samples/bpf/sockex3_kern.c nhoff = skb->cb[0]; nhoff 199 samples/bpf/sockex3_kern.c if (unlikely(ip_is_fragment(skb, nhoff))) nhoff 202 samples/bpf/sockex3_kern.c ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol)); nhoff 205 samples/bpf/sockex3_kern.c g->flow.src = load_word(skb, nhoff + offsetof(struct iphdr, saddr)); nhoff 206 samples/bpf/sockex3_kern.c g->flow.dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr)); nhoff 209 samples/bpf/sockex3_kern.c verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/); nhoff 210 samples/bpf/sockex3_kern.c nhoff += (verlen & 0xF) << 2; nhoff 212 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 220 samples/bpf/sockex3_kern.c __u32 nhoff, ip_proto; nhoff 225 samples/bpf/sockex3_kern.c nhoff = skb->cb[0]; nhoff 228 samples/bpf/sockex3_kern.c nhoff + offsetof(struct ipv6hdr, nexthdr)); nhoff 230 samples/bpf/sockex3_kern.c nhoff + offsetof(struct ipv6hdr, saddr)); nhoff 232 samples/bpf/sockex3_kern.c nhoff + offsetof(struct ipv6hdr, daddr)); nhoff 233 samples/bpf/sockex3_kern.c nhoff += sizeof(struct ipv6hdr); nhoff 235 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 242 samples/bpf/sockex3_kern.c __u32 nhoff, proto; nhoff 244 samples/bpf/sockex3_kern.c nhoff = skb->cb[0]; nhoff 246 samples/bpf/sockex3_kern.c proto = load_half(skb, nhoff + offsetof(struct vlan_hdr, nhoff 248 samples/bpf/sockex3_kern.c nhoff += sizeof(struct vlan_hdr); nhoff 249 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 258 samples/bpf/sockex3_kern.c __u32 nhoff, label; nhoff 260 samples/bpf/sockex3_kern.c nhoff = skb->cb[0]; nhoff 262 samples/bpf/sockex3_kern.c label = load_word(skb, nhoff); nhoff 263 samples/bpf/sockex3_kern.c nhoff += sizeof(struct mpls_label); nhoff 264 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 267 samples/bpf/sockex3_kern.c __u8 verlen = load_byte(skb, nhoff); nhoff 282 samples/bpf/sockex3_kern.c __u32 nhoff = ETH_HLEN; nhoff 285 samples/bpf/sockex3_kern.c skb->cb[0] = nhoff; nhoff 3553 tools/include/uapi/linux/bpf.h __u16 nhoff; nhoff 26 tools/testing/selftests/bpf/prog_tests/flow_dissector.c got.nhoff, expected.nhoff, \ nhoff 116 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 136 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 158 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN + VLAN_HLEN, nhoff 180 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN + VLAN_HLEN * 2, nhoff 204 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 229 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 251 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 276 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 298 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 321 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 347 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 376 tools/testing/selftests/bpf/prog_tests/flow_dissector.c .nhoff = ETH_HLEN, nhoff 402 tools/testing/selftests/bpf/progs/bpf_flow.c keys->nhoff += sizeof(*vlan); nhoff 410 tools/testing/selftests/bpf/progs/bpf_flow.c keys->nhoff += sizeof(*vlan);