/kernel/linux/linux-5.10/samples/bpf/ |
H A D | sockex2_kern.c | 46 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 48 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 62 static inline __u64 parse_ip(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, in parse_ip() argument 67 if (unlikely(ip_is_fragment(skb, nhoff))) in parse_ip() 70 *ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol)); in parse_ip() 73 flow->src = load_word(skb, nhoff + offsetof(struct iphdr, saddr)); in parse_ip() 74 flow->dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr)); in parse_ip() 77 verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/); in parse_ip() 79 nhoff += 20; in parse_ip() 81 nhoff in parse_ip() 86 parse_ipv6(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, struct flow_key_record *flow) parse_ipv6() argument 103 __u64 nhoff = ETH_HLEN; flow_dissector() local [all...] |
H A D | sockex3_kern.c | 77 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 79 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 144 __u32 nhoff = skb->cb[0]; in parse_ip_proto() local 155 nhoff + offsetof(struct gre_hdr, flags)); in parse_ip_proto() 157 nhoff + offsetof(struct gre_hdr, proto)); in parse_ip_proto() 162 nhoff += 4; in parse_ip_proto() 164 nhoff += 4; in parse_ip_proto() 166 nhoff += 4; in parse_ip_proto() 168 nhoff += 4; in parse_ip_proto() 170 skb->cb[0] = nhoff; in parse_ip_proto() 195 __u32 nhoff, verlen, ip_proto; PARSE_IP() local 223 __u32 nhoff, ip_proto; PARSE_IPV6() local 245 __u32 nhoff, proto; PARSE_VLAN() local 261 __u32 nhoff, label; PARSE_MPLS() local 285 __u32 nhoff = ETH_HLEN; main_prog() local [all...] |
H A D | parse_ldabs.c | 21 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 23 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment()
|
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | sockex2_kern.c | 46 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 48 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 62 static inline __u64 parse_ip(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, in parse_ip() argument 67 if (unlikely(ip_is_fragment(skb, nhoff))) in parse_ip() 70 *ip_proto = load_byte(skb, nhoff + offsetof(struct iphdr, protocol)); in parse_ip() 73 flow->src = load_word(skb, nhoff + offsetof(struct iphdr, saddr)); in parse_ip() 74 flow->dst = load_word(skb, nhoff + offsetof(struct iphdr, daddr)); in parse_ip() 77 verlen = load_byte(skb, nhoff + 0/*offsetof(struct iphdr, ihl)*/); in parse_ip() 79 nhoff += 20; in parse_ip() 81 nhoff in parse_ip() 86 parse_ipv6(struct __sk_buff *skb, __u64 nhoff, __u64 *ip_proto, struct flow_key_record *flow) parse_ipv6() argument 103 __u64 nhoff = ETH_HLEN; flow_dissector() local [all...] |
H A D | sockex3_kern.c | 42 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 44 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment() 109 __u32 nhoff = skb->cb[0]; in parse_ip_proto() local 120 nhoff + offsetof(struct gre_hdr, flags)); in parse_ip_proto() 122 nhoff + offsetof(struct gre_hdr, proto)); in parse_ip_proto() 127 nhoff += 4; in parse_ip_proto() 129 nhoff += 4; in parse_ip_proto() 131 nhoff += 4; in parse_ip_proto() 133 nhoff += 4; in parse_ip_proto() 135 skb->cb[0] = nhoff; in parse_ip_proto() 161 __u32 nhoff, verlen, ip_proto; bpf_func_ip() local 190 __u32 nhoff, ip_proto; bpf_func_ipv6() local 213 __u32 nhoff, proto; bpf_func_vlan() local 230 __u32 nhoff, label; bpf_func_mpls() local 296 __u32 nhoff = ETH_HLEN; main_prog() local [all...] |
H A D | parse_ldabs.c | 21 static inline int ip_is_fragment(struct __sk_buff *ctx, __u64 nhoff) in ip_is_fragment() argument 23 return load_half(ctx, nhoff + offsetof(struct iphdr, frag_off)) in ip_is_fragment()
|
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | xt_HMARK.c | 132 hmark_set_tuple_ports(const struct sk_buff *skb, unsigned int nhoff, in hmark_set_tuple_ports() argument 141 nhoff += protoff; in hmark_set_tuple_ports() 142 if (skb_copy_bits(skb, nhoff, &t->uports, sizeof(t->uports)) < 0) in hmark_set_tuple_ports() 170 unsigned int nhoff = 0; in hmark_pkt_set_htuple_ipv6() local 175 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 182 if (get_inner6_hdr(skb, &nhoff)) { in hmark_pkt_set_htuple_ipv6() 183 ip6 = skb_header_pointer(skb, nhoff, sizeof(_ip6), &_ip6); in hmark_pkt_set_htuple_ipv6() 188 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 206 hmark_set_tuple_ports(skb, nhoff, t, info); in hmark_pkt_set_htuple_ipv6() 231 static int get_inner_hdr(const struct sk_buff *skb, int iphsz, int *nhoff) in get_inner_hdr() argument 254 int nhoff = skb_network_offset(skb); hmark_pkt_set_htuple_ipv4() local [all...] |
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | xt_HMARK.c | 132 hmark_set_tuple_ports(const struct sk_buff *skb, unsigned int nhoff, in hmark_set_tuple_ports() argument 141 nhoff += protoff; in hmark_set_tuple_ports() 142 if (skb_copy_bits(skb, nhoff, &t->uports, sizeof(t->uports)) < 0) in hmark_set_tuple_ports() 170 unsigned int nhoff = 0; in hmark_pkt_set_htuple_ipv6() local 175 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 182 if (get_inner6_hdr(skb, &nhoff)) { in hmark_pkt_set_htuple_ipv6() 183 ip6 = skb_header_pointer(skb, nhoff, sizeof(_ip6), &_ip6); in hmark_pkt_set_htuple_ipv6() 188 nexthdr = ipv6_find_hdr(skb, &nhoff, -1, &fragoff, &flag); in hmark_pkt_set_htuple_ipv6() 206 hmark_set_tuple_ports(skb, nhoff, t, info); in hmark_pkt_set_htuple_ipv6() 231 static int get_inner_hdr(const struct sk_buff *skb, int iphsz, int *nhoff) in get_inner_hdr() argument 254 int nhoff = skb_network_offset(skb); hmark_pkt_set_htuple_ipv4() local [all...] |
H A D | nft_inner.c | 56 u32 nhoff, thoff; in nft_inner_parse_l2l3() local 113 nhoff = off; in nft_inner_parse_l2l3() 119 iph = skb_header_pointer(pkt->skb, nhoff, sizeof(_iph), &_iph); in nft_inner_parse_l2l3() 126 ctx->inner_nhoff = nhoff; in nft_inner_parse_l2l3() 129 thoff = nhoff + (iph->ihl * 4); in nft_inner_parse_l2l3() 143 ip6h = skb_header_pointer(pkt->skb, nhoff, sizeof(_ip6h), &_ip6h); in nft_inner_parse_l2l3() 150 ctx->inner_nhoff = nhoff; in nft_inner_parse_l2l3() 153 thoff = nhoff; in nft_inner_parse_l2l3() 159 thoff = nhoff + sizeof(_ip6h); in nft_inner_parse_l2l3()
|
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | ip6_offload.c | 87 int nhoff; in ipv6_gso_segment() local 94 nhoff = skb_network_header(skb) - skb_mac_header(skb); in ipv6_gso_segment() 122 skb->network_header = skb_mac_header(skb) + nhoff - skb->head; in ipv6_gso_segment() 131 ipv6h = (struct ipv6hdr *)(skb_mac_header(skb) + nhoff); in ipv6_gso_segment() 137 payload_len = skb->len - nhoff - sizeof(*ipv6h); in ipv6_gso_segment() 321 INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff) in ipv6_gro_complete() argument 330 skb_set_inner_network_header(skb, nhoff); in ipv6_gro_complete() 333 payload_len = skb->len - nhoff - sizeof(*iph); in ipv6_gro_complete() 345 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete() 358 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete() 373 sit_gro_complete(struct sk_buff *skb, int nhoff) sit_gro_complete() argument 380 ip6ip6_gro_complete(struct sk_buff *skb, int nhoff) ip6ip6_gro_complete() argument 387 ip4ip6_gro_complete(struct sk_buff *skb, int nhoff) ip4ip6_gro_complete() argument [all...] |
H A D | udp_offload.c | 165 INDIRECT_CALLABLE_SCOPE int udp6_gro_complete(struct sk_buff *skb, int nhoff) in udp6_gro_complete() argument 168 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp6_gro_complete() 172 uh->len = htons(skb->len - nhoff); in udp6_gro_complete() 189 uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, in udp6_gro_complete() 192 return udp_gro_complete(skb, nhoff, udp6_lib_lookup_skb); in udp6_gro_complete()
|
H A D | reassembly.c | 107 struct frag_hdr *fhdr, int nhoff, in ip6_frag_queue() 214 fq->nhoffset = nhoff; in ip6_frag_queue() 260 unsigned int nhoff; in ip6_frag_reasm() local 283 nhoff = fq->nhoffset; in ip6_frag_reasm() 284 skb_network_header(skb)[nhoff] = skb_transport_header(skb)[0]; in ip6_frag_reasm() 298 IP6CB(skb)->nhoff = nhoff; in ip6_frag_reasm() 358 IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb); in ipv6_frag_rcv() 388 ret = ip6_frag_queue(fq, skb, fhdr, IP6CB(skb)->nhoff, in ipv6_frag_rcv() 106 ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb, struct frag_hdr *fhdr, int nhoff, u32 *prob_offset) ip6_frag_queue() argument
|
/kernel/linux/linux-6.6/net/core/ |
H A D | flow_dissector.c | 211 int nhoff, int hlen) in __skb_flow_dissect_ah() 219 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, hlen, &_hdr); in __skb_flow_dissect_ah() 233 int nhoff, int hlen) in __skb_flow_dissect_esp() 241 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, hlen, &_hdr); in __skb_flow_dissect_esp() 255 int nhoff, int hlen) in __skb_flow_dissect_l2tpv3() 265 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, hlen, &_hdr); in __skb_flow_dissect_l2tpv3() 493 void *target_container, const void *data, int nhoff, in __skb_flow_dissect_mpls() 507 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, in __skb_flow_dissect_mpls() 552 int nhoff, int hlen) in __skb_flow_dissect_arp() 567 arp = __skb_header_pointer(skb, nhoff, sizeo in __skb_flow_dissect_arp() 208 __skb_flow_dissect_ah(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen) __skb_flow_dissect_ah() argument 230 __skb_flow_dissect_esp(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen) __skb_flow_dissect_esp() argument 252 __skb_flow_dissect_l2tpv3(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen) __skb_flow_dissect_l2tpv3() argument 491 __skb_flow_dissect_mpls(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen, int lse_index, bool *entropy_label) __skb_flow_dissect_mpls() argument 549 __skb_flow_dissect_arp(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen) __skb_flow_dissect_arp() argument 605 __skb_flow_dissect_cfm(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, int hlen) __skb_flow_dissect_cfm() argument 827 __skb_flow_dissect_ports(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, int nhoff, u8 ip_proto, int hlen) __skb_flow_dissect_ports() argument 971 bpf_flow_dissect(struct bpf_prog *prog, struct bpf_flow_dissector *ctx, __be16 proto, int nhoff, int hlen, unsigned int flags) bpf_flow_dissect() argument 1024 __skb_flow_dissect(const struct net *net, const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, const void *data, __be16 proto, int nhoff, int hlen, unsigned int flags) __skb_flow_dissect() argument [all...] |
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | ip6_offload.c | 85 int nhoff; in ipv6_gso_segment() local 89 nhoff = skb_network_header(skb) - skb_mac_header(skb); in ipv6_gso_segment() 117 skb->network_header = skb_mac_header(skb) + nhoff - skb->head; in ipv6_gso_segment() 126 ipv6h = (struct ipv6hdr *)(skb_mac_header(skb) + nhoff); in ipv6_gso_segment() 132 payload_len = skb->len - nhoff - sizeof(*ipv6h); in ipv6_gso_segment() 322 INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff) in ipv6_gro_complete() argument 325 struct ipv6hdr *iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete() 330 skb_set_inner_network_header(skb, nhoff); in ipv6_gro_complete() 333 iph->payload_len = htons(skb->len - nhoff - sizeof(*iph)); in ipv6_gro_complete() 337 nhoff in ipv6_gro_complete() 350 sit_gro_complete(struct sk_buff *skb, int nhoff) sit_gro_complete() argument 357 ip6ip6_gro_complete(struct sk_buff *skb, int nhoff) ip6ip6_gro_complete() argument 364 ip4ip6_gro_complete(struct sk_buff *skb, int nhoff) ip4ip6_gro_complete() argument [all...] |
H A D | udp_offload.c | 161 INDIRECT_CALLABLE_SCOPE int udp6_gro_complete(struct sk_buff *skb, int nhoff) in udp6_gro_complete() argument 164 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp6_gro_complete() 167 uh->len = htons(skb->len - nhoff); in udp6_gro_complete() 184 uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, in udp6_gro_complete() 187 return udp_gro_complete(skb, nhoff, udp6_lib_lookup_skb); in udp6_gro_complete()
|
H A D | reassembly.c | 107 struct frag_hdr *fhdr, int nhoff, in ip6_frag_queue() 209 fq->nhoffset = nhoff; in ip6_frag_queue() 254 unsigned int nhoff; in ip6_frag_reasm() local 277 nhoff = fq->nhoffset; in ip6_frag_reasm() 278 skb_network_header(skb)[nhoff] = skb_transport_header(skb)[0]; in ip6_frag_reasm() 292 IP6CB(skb)->nhoff = nhoff; in ip6_frag_reasm() 352 IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb); in ipv6_frag_rcv() 382 ret = ip6_frag_queue(fq, skb, fhdr, IP6CB(skb)->nhoff, in ipv6_frag_rcv() 106 ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb, struct frag_hdr *fhdr, int nhoff, u32 *prob_offset) ip6_frag_queue() argument
|
H A D | ip6_input.c | 253 IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr); in ip6_rcv_core() 360 unsigned int nhoff; in ip6_protocol_deliver_rcu() local 369 nhoff = IP6CB(skb)->nhoff; in ip6_protocol_deliver_rcu() 373 nexthdr = skb_network_header(skb)[nhoff]; in ip6_protocol_deliver_rcu() 433 * protocol not nhoff (which presumably is in ip6_protocol_deliver_rcu() 450 ICMPV6_UNK_NEXTHDR, nhoff); in ip6_protocol_deliver_rcu()
|
/kernel/linux/linux-5.10/net/ipv6/ila/ |
H A 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()
|
/kernel/linux/linux-6.6/net/ipv6/ila/ |
H A 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()
|
/kernel/linux/linux-5.10/net/core/ |
H A D | flow_dissector.c | 406 void *target_container, void *data, int nhoff, int hlen, in __skb_flow_dissect_mpls() 420 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data, in __skb_flow_dissect_mpls() 464 void *target_container, void *data, int nhoff, int hlen) in __skb_flow_dissect_arp() 479 arp = __skb_header_pointer(skb, nhoff, sizeof(_arp), data, in __skb_flow_dissect_arp() 492 arp_eth = __skb_header_pointer(skb, nhoff + sizeof(_arp), in __skb_flow_dissect_arp() 716 void *target_container, void *data, int nhoff, in __skb_flow_dissect_ports() 734 key_ports->ports = __skb_flow_get_ports(skb, nhoff, ip_proto, in __skb_flow_dissect_ports() 857 __be16 proto, int nhoff, int hlen, unsigned int flags) in bpf_flow_dissect() 865 flow_keys->nhoff = nhoff; in bpf_flow_dissect() 404 __skb_flow_dissect_mpls(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, void *data, int nhoff, int hlen, int lse_index, bool *entropy_label) __skb_flow_dissect_mpls() argument 462 __skb_flow_dissect_arp(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, void *data, int nhoff, int hlen) __skb_flow_dissect_arp() argument 714 __skb_flow_dissect_ports(const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, void *data, int nhoff, u8 ip_proto, int hlen) __skb_flow_dissect_ports() argument 856 bpf_flow_dissect(struct bpf_prog *prog, struct bpf_flow_dissector *ctx, __be16 proto, int nhoff, int hlen, unsigned int flags) bpf_flow_dissect() argument 904 __skb_flow_dissect(const struct net *net, const struct sk_buff *skb, struct flow_dissector *flow_dissector, void *target_container, void *data, __be16 proto, int nhoff, int hlen, unsigned int flags) __skb_flow_dissect() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | flow_dissector.c | 21 "nhoff=%u/%u " \ 32 got.nhoff, expected.nhoff, \ 124 .nhoff = ETH_HLEN, 145 .nhoff = ETH_HLEN, 168 .nhoff = ETH_HLEN + VLAN_HLEN, 191 .nhoff = ETH_HLEN + VLAN_HLEN * 2, 216 .nhoff = ETH_HLEN, 242 .nhoff = ETH_HLEN, 265 .nhoff [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/prog_tests/ |
H A D | flow_dissector.c | 18 "nhoff=%u/%u " \ 29 got.nhoff, expected.nhoff, \ 120 .nhoff = ETH_HLEN, 140 .nhoff = ETH_HLEN, 162 .nhoff = ETH_HLEN + VLAN_HLEN, 184 .nhoff = ETH_HLEN + VLAN_HLEN * 2, 208 .nhoff = ETH_HLEN, 233 .nhoff = ETH_HLEN, 255 .nhoff [all...] |
/kernel/linux/linux-5.10/net/ipv4/ |
H A D | udp_offload.c | 630 int udp_gro_complete(struct sk_buff *skb, int nhoff, in udp_gro_complete() argument 633 __be16 newlen = htons(skb->len - nhoff); in udp_gro_complete() 634 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp_gro_complete() 652 nhoff + sizeof(struct udphdr)); in udp_gro_complete() 665 INDIRECT_CALLABLE_SCOPE int udp4_gro_complete(struct sk_buff *skb, int nhoff) in udp4_gro_complete() argument 668 struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); in udp4_gro_complete() 671 uh->len = htons(skb->len - nhoff); in udp4_gro_complete() 688 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, in udp4_gro_complete() 691 return udp_gro_complete(skb, nhoff, udp4_lib_lookup_skb); in udp4_gro_complete()
|
H A D | gre_offload.c | 236 static int gre_gro_complete(struct sk_buff *skb, int nhoff) in gre_gro_complete() argument 238 struct gre_base_hdr *greh = (struct gre_base_hdr *)(skb->data + nhoff); in gre_gro_complete() 257 err = ptype->callbacks.gro_complete(skb, nhoff + grehlen); in gre_gro_complete() 261 skb_set_inner_mac_header(skb, nhoff + grehlen); in gre_gro_complete()
|
/kernel/linux/linux-5.10/net/bridge/netfilter/ |
H A D | nf_conntrack_bridge.c | 206 int nhoff, len; in nf_ct_br_ip_check() local 208 nhoff = skb_network_offset(skb); in nf_ct_br_ip_check() 215 if (skb->len < nhoff + len || in nf_ct_br_ip_check() 225 int nhoff, len; in nf_ct_br_ipv6_check() local 227 nhoff = skb_network_offset(skb); in nf_ct_br_ipv6_check() 232 len = ntohs(hdr->payload_len) + sizeof(struct ipv6hdr) + nhoff; in nf_ct_br_ipv6_check()
|