/Linux-v4.19/samples/bpf/ |
D | sockex2_kern.c | 45 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 47 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 61 static inline __u64 parse_ip(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, in parse_ip() argument 66 if (unlikely(ip_is_fragment(skb, nhoff))) in parse_ip() 69 *ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol)); in parse_ip() 72 flow->src = load_word(skb, nhoff + offsetof(struct iphdr, saddr)); in parse_ip() 73 flow->dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr)); in parse_ip() 76 verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/); in parse_ip() 78 nhoff += 20; in parse_ip() 80 nhoff += (verlen & 0xF) << 2; in parse_ip() [all …]
|
D | sockex3_kern.c | 74 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 76 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 141 __u32 nhoff = skb->cb[0]; in parse_ip_proto() local 152 nhoff + offsetof(struct gre_hdr, flags)); in parse_ip_proto() 154 nhoff + offsetof(struct gre_hdr, proto)); in parse_ip_proto() 159 nhoff += 4; in parse_ip_proto() 161 nhoff += 4; in parse_ip_proto() 163 nhoff += 4; in parse_ip_proto() 165 nhoff += 4; in parse_ip_proto() 167 skb->cb[0] = nhoff; in parse_ip_proto() [all …]
|
D | parse_ldabs.c | 20 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 22 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment()
|
/Linux-v4.19/net/netfilter/ |
D | xt_HMARK.c | 135 hmark_set_tuple_ports(const struct sk_buff *skb, unsigned int nhoff, in hmark_set_tuple_ports() argument 144 nhoff += protoff; in hmark_set_tuple_ports() 145 if (skb_copy_bits(skb, nhoff, &t->uports, sizeof(t->uports)) < 0) in hmark_set_tuple_ports() 173 unsigned int nhoff = 0; in hmark_pkt_set_htuple_ipv6() local 178 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 185 if (get_inner6_hdr(skb, &nhoff)) { in hmark_pkt_set_htuple_ipv6() 186 ip6 = skb_header_pointer(skb, nhoff, sizeof(_ip6), &_ip6); in hmark_pkt_set_htuple_ipv6() 191 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 209 hmark_set_tuple_ports(skb, nhoff, t, info); in hmark_pkt_set_htuple_ipv6() 234 static int get_inner_hdr(const struct sk_buff *skb, int iphsz, int *nhoff) in get_inner_hdr() argument [all …]
|
D | nf_conntrack_core.c | 227 unsigned int nhoff, in nf_ct_get_tuple() argument 248 nhoff += offsetof(struct iphdr, saddr); in nf_ct_get_tuple() 252 nhoff += offsetof(struct ipv6hdr, saddr); in nf_ct_get_tuple() 259 ap = skb_header_pointer(skb, nhoff, size, _addrs); in nf_ct_get_tuple() 290 static int ipv4_get_l4proto(const struct sk_buff *skb, unsigned int nhoff, in ipv4_get_l4proto() argument 297 iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); in ipv4_get_l4proto() 307 dataoff = nhoff + (iph->ihl << 2); in ipv4_get_l4proto() 313 nhoff, iph->ihl << 2, skb->len); in ipv4_get_l4proto() 320 static int ipv6_get_l4proto(const struct sk_buff *skb, unsigned int nhoff, in ipv6_get_l4proto() argument 324 unsigned int extoff = nhoff + sizeof(struct ipv6hdr); in ipv6_get_l4proto() [all …]
|
/Linux-v4.19/net/ipv6/ |
D | ip6_offload.c | 70 int nhoff; in ipv6_gso_segment() local 74 nhoff = skb_network_header(skb) - skb_mac_header(skb); in ipv6_gso_segment() 109 ipv6h = (struct ipv6hdr *)(skb_mac_header(skb) + nhoff); in ipv6_gso_segment() 115 payload_len = skb->len - nhoff - sizeof(*ipv6h); in ipv6_gso_segment() 297 static int ipv6_gro_complete(struct sk_buff *skb, int nhoff) in ipv6_gro_complete() argument 300 struct ipv6hdr *iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete() 305 skb_set_inner_network_header(skb, nhoff); in ipv6_gro_complete() 308 iph->payload_len = htons(skb->len - nhoff - sizeof(*iph)); in ipv6_gro_complete() 312 nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); in ipv6_gro_complete() 316 err = ops->callbacks.gro_complete(skb, nhoff); in ipv6_gro_complete() [all …]
|
D | udp_offload.c | 145 static int udp6_gro_complete(struct sk_buff *skb, int nhoff) in udp6_gro_complete() argument 148 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp6_gro_complete() 152 uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, in udp6_gro_complete() 158 return udp_gro_complete(skb, nhoff, udp6_lib_lookup_skb); in udp6_gro_complete()
|
D | esp6_offload.c | 60 int nhoff; in esp6_gro_receive() local 96 nhoff = esp6_nexthdr_esp_offset(ipv6_hdr(skb), offset); in esp6_gro_receive() 97 if (!nhoff) in esp6_gro_receive() 100 IP6CB(skb)->nhoff = nhoff; in esp6_gro_receive()
|
D | ip6_input.c | 224 IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr); in ip6_rcv_core() 327 unsigned int nhoff; in ip6_input_finish() local 341 nhoff = IP6CB(skb)->nhoff; in ip6_input_finish() 342 nexthdr = skb_network_header(skb)[nhoff]; in ip6_input_finish() 405 ICMPV6_UNK_NEXTHDR, nhoff); in ip6_input_finish()
|
D | reassembly.c | 111 struct frag_hdr *fhdr, int nhoff, in ip6_frag_queue() argument 243 fq->nhoffset = nhoff; in ip6_frag_queue() 285 unsigned int nhoff; in ip6_frag_reasm() local 355 nhoff = fq->nhoffset; in ip6_frag_reasm() 356 skb_network_header(head)[nhoff] = skb_transport_header(head)[0]; in ip6_frag_reasm() 396 IP6CB(head)->nhoff = nhoff; in ip6_frag_reasm() 454 IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb); in ipv6_frag_rcv() 472 ret = ip6_frag_queue(fq, skb, fhdr, IP6CB(skb)->nhoff, in ipv6_frag_rcv()
|
D | xfrm6_policy.c | 130 u16 nhoff = IP6CB(skb)->nhoff; in _decode_session6() local 134 if (!nhoff) in _decode_session6() 135 nhoff = offsetof(struct ipv6hdr, nexthdr); in _decode_session6() 137 nexthdr = nh[nhoff]; in _decode_session6()
|
D | xfrm6_input.c | 48 skb_network_header(skb)[IP6CB(skb)->nhoff] = in xfrm6_transport_finish() 74 return xfrm6_rcv_spi(skb, skb_network_header(skb)[IP6CB(skb)->nhoff], in xfrm6_rcv_tnl()
|
D | exthdrs.c | 316 opt->nhoff = dstbuf; in ipv6_destopt_rcv() 318 opt->nhoff = opt->dst1; in ipv6_destopt_rcv() 413 opt->nhoff = (&hdr->nexthdr) - skb_network_header(skb); in ipv6_srh_rcv() 541 opt->nhoff = (&hdr->nexthdr) - skb_network_header(skb); in ipv6_rthdr_rcv() 854 opt->nhoff = sizeof(struct ipv6hdr); in ipv6_parse_hopopts()
|
/Linux-v4.19/net/ipv6/ila/ |
D | ila_common.c | 77 size_t nhoff = sizeof(struct ipv6hdr); in ila_csum_adjust_transport() local 83 if (likely(pskb_may_pull(skb, nhoff + sizeof(struct tcphdr)))) { in ila_csum_adjust_transport() 85 (skb_network_header(skb) + nhoff); in ila_csum_adjust_transport() 93 if (likely(pskb_may_pull(skb, nhoff + sizeof(struct udphdr)))) { in ila_csum_adjust_transport() 95 (skb_network_header(skb) + nhoff); in ila_csum_adjust_transport() 108 nhoff + sizeof(struct icmp6hdr)))) { in ila_csum_adjust_transport() 110 (skb_network_header(skb) + nhoff); in ila_csum_adjust_transport()
|
/Linux-v4.19/net/core/ |
D | flow_dissector.c | 250 void *target_container, void *data, int nhoff, int hlen) in __skb_flow_dissect_mpls() argument 261 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, in __skb_flow_dissect_mpls() 296 void *target_container, void *data, int nhoff, int hlen) in __skb_flow_dissect_arp() argument 311 arp = __skb_header_pointer(skb, nhoff, sizeof(_arp), data, in __skb_flow_dissect_arp() 324 arp_eth = __skb_header_pointer(skb, nhoff + sizeof(_arp), in __skb_flow_dissect_arp() 610 void *data, __be16 proto, int nhoff, int hlen, in __skb_flow_dissect() argument 630 nhoff = skb_network_offset(skb); in __skb_flow_dissect() 641 nhoff += offset; in __skb_flow_dissect() 680 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect() 686 nhoff += iph->ihl * 4; in __skb_flow_dissect() [all …]
|
/Linux-v4.19/net/nsh/ |
D | nsh.c | 85 int nhoff; in nsh_gso_segment() local 89 nhoff = skb->network_header - skb->mac_header; in nsh_gso_segment() 114 skb->network_header - nhoff, in nsh_gso_segment() 122 skb_set_mac_header(skb, -nhoff); in nsh_gso_segment()
|
/Linux-v4.19/net/ipv4/ |
D | udp_offload.c | 430 int udp_gro_complete(struct sk_buff *skb, int nhoff, in udp_gro_complete() argument 433 __be16 newlen = htons(skb->len - nhoff); in udp_gro_complete() 434 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp_gro_complete() 449 nhoff + sizeof(struct udphdr)); in udp_gro_complete() 459 static int udp4_gro_complete(struct sk_buff *skb, int nhoff) in udp4_gro_complete() argument 462 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp4_gro_complete() 466 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, in udp4_gro_complete() 472 return udp_gro_complete(skb, nhoff, udp4_lib_lookup_skb); in udp4_gro_complete()
|
D | gre_offload.c | 231 static int gre_gro_complete(struct sk_buff *skb, int nhoff) in gre_gro_complete() argument 233 struct gre_base_hdr *greh = (struct gre_base_hdr *)(skb->data + nhoff); in gre_gro_complete() 252 err = ptype->callbacks.gro_complete(skb, nhoff + grehlen); in gre_gro_complete() 256 skb_set_inner_mac_header(skb, nhoff + grehlen); in gre_gro_complete()
|
D | af_inet.c | 1300 int nhoff; in inet_gso_segment() local 1305 nhoff = skb_network_header(skb) - skb_mac_header(skb); in inet_gso_segment() 1351 iph = (struct iphdr *)(skb_mac_header(skb) + nhoff); in inet_gso_segment() 1356 offset += skb->len - nhoff - ihl; in inet_gso_segment() 1357 tot_len = skb->len - nhoff; in inet_gso_segment() 1369 tot_len = skb->len - nhoff; in inet_gso_segment() 1373 tot_len = skb->len - nhoff; in inet_gso_segment() 1559 int inet_gro_complete(struct sk_buff *skb, int nhoff) in inet_gro_complete() argument 1561 __be16 newlen = htons(skb->len - nhoff); in inet_gro_complete() 1562 struct iphdr *iph = (struct iphdr *)(skb->data + nhoff); in inet_gro_complete() [all …]
|
D | fou.c | 262 int nhoff) in fou_gro_complete() argument 275 err = ops->callbacks.gro_complete(skb, nhoff); in fou_gro_complete() 277 skb_set_inner_mac_header(skb, nhoff); in fou_gro_complete() 456 static int gue_gro_complete(struct sock *sk, struct sk_buff *skb, int nhoff) in gue_gro_complete() argument 459 struct guehdr *guehdr = (struct guehdr *)(skb->data + nhoff); in gue_gro_complete() 492 err = ops->callbacks.gro_complete(skb, nhoff + guehlen); in gue_gro_complete() 494 skb_set_inner_mac_header(skb, nhoff + guehlen); in gue_gro_complete()
|
/Linux-v4.19/net/ethernet/ |
D | eth.c | 484 int eth_gro_complete(struct sk_buff *skb, int nhoff) in eth_gro_complete() argument 486 struct ethhdr *eh = (struct ethhdr *)(skb->data + nhoff); in eth_gro_complete() 492 skb_set_inner_mac_header(skb, nhoff); in eth_gro_complete() 497 err = ptype->callbacks.gro_complete(skb, nhoff + in eth_gro_complete()
|
/Linux-v4.19/net/ipv6/netfilter/ |
D | nf_conntrack_reasm.c | 178 const struct frag_hdr *fhdr, int nhoff) in nf_ct_frag6_queue() argument 318 fq->nhoffset = nhoff; in nf_ct_frag6_queue() 540 int fhoff, nhoff, ret; in nf_ct_frag6_gather() local 552 if (find_prev_fhdr(skb, &prevhdr, &nhoff, &fhoff) < 0) in nf_ct_frag6_gather() 576 ret = nf_ct_frag6_queue(fq, skb, fhdr, nhoff); in nf_ct_frag6_gather()
|
/Linux-v4.19/include/net/ |
D | inet_common.h | 47 int inet_gro_complete(struct sk_buff *skb, int nhoff);
|
/Linux-v4.19/include/linux/ |
D | udp.h | 82 int nhoff);
|
/Linux-v4.19/net/ipv4/netfilter/ |
D | nf_log_arp.c | 47 const struct sk_buff *skb, unsigned int nhoff) in dump_arp_packet() argument
|