/linux-5.19.10/samples/bpf/ |
D | parse_varlen.c | 22 static int tcp(void *data, uint64_t tp_off, void *data_end) in tcp() argument 26 if (tcp + 1 > data_end) in tcp() 33 static int udp(void *data, uint64_t tp_off, void *data_end) in udp() argument 37 if (udp + 1 > data_end) in udp() 51 static int parse_ipv4(void *data, uint64_t nh_off, void *data_end) in parse_ipv4() argument 57 if (iph + 1 > data_end) in parse_ipv4() 66 if (iph + 1 > data_end) in parse_ipv4() 72 return tcp(data, nh_off + ihl_len, data_end); in parse_ipv4() 74 return udp(data, nh_off + ihl_len, data_end); in parse_ipv4() 78 static int parse_ipv6(void *data, uint64_t nh_off, void *data_end) in parse_ipv6() argument [all …]
|
D | xdp_redirect_cpu.bpf.c | 52 bool parse_eth(struct ethhdr *eth, void *data_end, in parse_eth() argument 59 if ((void *)eth + offset > data_end) in parse_eth() 75 if ((void *)eth + offset > data_end) in parse_eth() 86 if ((void *)eth + offset > data_end) in parse_eth() 99 void *data_end = (void *)(long)ctx->data_end; in get_dest_port_ipv4_udp() local 104 if (iph + 1 > data_end) in get_dest_port_ipv4_udp() 110 if (udph + 1 > data_end) in get_dest_port_ipv4_udp() 119 void *data_end = (void *)(long)ctx->data_end; in get_proto_ipv4() local 123 if (iph + 1 > data_end) in get_proto_ipv4() 131 void *data_end = (void *)(long)ctx->data_end; in get_proto_ipv6() local [all …]
|
D | xdp_tx_iptunnel_kern.c | 45 static __always_inline int get_dport(void *trans_data, void *data_end, in get_dport() argument 54 if (th + 1 > data_end) in get_dport() 59 if (uh + 1 > data_end) in get_dport() 79 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 92 if (iph + 1 > data_end) in handle_ipv4() 95 dport = get_dport(iph + 1, data_end, iph->protocol); in handle_ipv4() 116 data_end = (void *)(long)xdp->data_end; in handle_ipv4() 122 if (new_eth + 1 > data_end || in handle_ipv4() 123 old_eth + 1 > data_end || in handle_ipv4() 124 iph + 1 > data_end) in handle_ipv4() [all …]
|
D | tc_l2_redirect_kern.c | 64 void *data_end = (void *)(long)skb->data_end; in _l2_to_iptun_ingress_forward() local 69 if (data + sizeof(*eth) > data_end) in _l2_to_iptun_ingress_forward() 80 if (data + sizeof(*eth) + sizeof(*iph) > data_end) in _l2_to_iptun_ingress_forward() 93 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_iptun_ingress_forward() 115 void *data_end = (void *)(long)skb->data_end; in _l2_to_iptun_ingress_redirect() local 120 if (data + sizeof(*eth) > data_end) in _l2_to_iptun_ingress_redirect() 132 if (data + sizeof(*eth) + sizeof(*iph) > data_end) in _l2_to_iptun_ingress_redirect() 156 void *data_end = (void *)(long)skb->data_end; in _l2_to_ip6tun_ingress_redirect() local 159 if (data + sizeof(*eth) > data_end) in _l2_to_ip6tun_ingress_redirect() 170 if (data + sizeof(*eth) + sizeof(*iph) > data_end) in _l2_to_ip6tun_ingress_redirect() [all …]
|
D | xdp1_kern.c | 24 static int parse_ipv4(void *data, u64 nh_off, void *data_end) in parse_ipv4() argument 28 if (iph + 1 > data_end) in parse_ipv4() 33 static int parse_ipv6(void *data, u64 nh_off, void *data_end) in parse_ipv6() argument 37 if (ip6h + 1 > data_end) in parse_ipv6() 45 void *data_end = (void *)(long)ctx->data_end; in xdp_prog1() local 55 if (data + nh_off > data_end) in xdp_prog1() 66 if (data + nh_off > data_end) in xdp_prog1() 76 if (data + nh_off > data_end) in xdp_prog1() 82 ipproto = parse_ipv4(data, nh_off, data_end); in xdp_prog1() 84 ipproto = parse_ipv6(data, nh_off, data_end); in xdp_prog1()
|
D | xdp2_kern.c | 40 static int parse_ipv4(void *data, u64 nh_off, void *data_end) in parse_ipv4() argument 44 if (iph + 1 > data_end) in parse_ipv4() 49 static int parse_ipv6(void *data, u64 nh_off, void *data_end) in parse_ipv6() argument 53 if (ip6h + 1 > data_end) in parse_ipv6() 61 void *data_end = (void *)(long)ctx->data_end; in xdp_prog1() local 71 if (data + nh_off > data_end) in xdp_prog1() 82 if (data + nh_off > data_end) in xdp_prog1() 92 if (data + nh_off > data_end) in xdp_prog1() 98 ipproto = parse_ipv4(data, nh_off, data_end); in xdp_prog1() 100 ipproto = parse_ipv6(data, nh_off, data_end); in xdp_prog1()
|
D | xdp_adjust_tail_kern.c | 77 void *data_end = (void *)(long)xdp->data_end; in send_icmp4_too_big() local 79 if (data + (ICMP_TOOBIG_SIZE + headroom) > data_end) in send_icmp4_too_big() 122 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 124 int pckt_size = data_end - data; in handle_ipv4() 139 void *data_end = (void *)(long)xdp->data_end; in _xdp_icmp() local 144 if (eth + 1 > data_end) in _xdp_icmp()
|
/linux-5.19.10/tools/testing/selftests/bpf/progs/ |
D | test_xdp.c | 46 static __always_inline int get_dport(void *trans_data, void *data_end, in get_dport() argument 55 if (th + 1 > data_end) in get_dport() 60 if (uh + 1 > data_end) in get_dport() 80 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 93 if (iph + 1 > data_end) in handle_ipv4() 96 dport = get_dport(iph + 1, data_end, iph->protocol); in handle_ipv4() 115 data_end = (void *)(long)xdp->data_end; in handle_ipv4() 121 if (new_eth + 1 > data_end || in handle_ipv4() 122 old_eth + 1 > data_end || in handle_ipv4() 123 iph + 1 > data_end) in handle_ipv4() [all …]
|
D | test_xdp_loop.c | 42 static __always_inline int get_dport(void *trans_data, void *data_end, in get_dport() argument 51 if (th + 1 > data_end) in get_dport() 56 if (uh + 1 > data_end) in get_dport() 76 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 89 if (iph + 1 > data_end) in handle_ipv4() 92 dport = get_dport(iph + 1, data_end, iph->protocol); in handle_ipv4() 111 data_end = (void *)(long)xdp->data_end; in handle_ipv4() 117 if (new_eth + 1 > data_end || in handle_ipv4() 118 old_eth + 1 > data_end || in handle_ipv4() 119 iph + 1 > data_end) in handle_ipv4() [all …]
|
D | test_xdp_do_redirect.c | 19 void *data_end = (void *)(long)xdp->data_end; in xdp_redirect() local 25 if (payload + 1 > data_end) in xdp_redirect() 54 static bool check_pkt(void *data, void *data_end) in check_pkt() argument 59 if (payload + 1 > data_end) in check_pkt() 76 void *data_end = (void *)(long)xdp->data_end; in xdp_count_pkts() local 78 if (check_pkt(data, data_end)) in xdp_count_pkts() 92 void *data_end = (void *)(long)skb->data_end; in tc_count_pkts() local 94 if (check_pkt(data, data_end)) in tc_count_pkts()
|
D | test_xdp_noinline.c | 232 bool parse_udp(void *data, void *data_end, in parse_udp() argument 241 if (udp + 1 > data_end) in parse_udp() 254 bool parse_tcp(void *data, void *data_end, in parse_tcp() argument 263 if (tcp + 1 > data_end) in parse_tcp() 286 void *data_end; in encap_v6() local 292 data_end = (void *)(long)xdp->data_end; in encap_v6() 296 if (new_eth + 1 > data_end || in encap_v6() 297 old_eth + 1 > data_end || ip6h + 1 > data_end) in encap_v6() 332 void *data_end; in encap_v4() local 340 data_end = (void *)(long)xdp->data_end; in encap_v4() [all …]
|
D | xdpwall.c | 106 static __always_inline struct ethhdr *parse_ethhdr(void *data, void *data_end) in parse_ethhdr() argument 110 if (eth + 1 > data_end) in parse_ethhdr() 165 get_transport_hdr(__u16 offset, void *data, void *data_end) in get_transport_hdr() argument 167 if (offset > 255 || data + offset > data_end) in get_transport_hdr() 191 parse_tcp(struct pkt_info *info, void *transport_hdr, void *data_end) in parse_tcp() argument 195 if (tcp + 1 > data_end) in parse_tcp() 206 parse_udp(struct pkt_info *info, void *transport_hdr, void *data_end) in parse_udp() argument 210 if (udp + 1 > data_end) in parse_udp() 234 filter_transport_hdr(void *transport_hdr, void *data_end, in filter_transport_hdr() argument 238 if (!parse_tcp(info, transport_hdr, data_end)) in filter_transport_hdr() [all …]
|
D | test_btf_skc_cls_ingress.c | 33 void *data_end; in test_syncookie_helper() local 35 data_end = (void *)(long)(skb->data_end); in test_syncookie_helper() 42 if ((void *)th + 40 > data_end) { in test_syncookie_helper() 75 void *data_end; in handle_ip6_tcp() local 77 data_end = (void *)(long)(skb->data_end); in handle_ip6_tcp() 80 if (th + 1 > data_end) in handle_ip6_tcp() 89 if ((void *)tuple + tuple_len > data_end) { in handle_ip6_tcp() 153 void *data_end; in cls_ingress() local 155 data_end = (void *)(long)(skb->data_end); in cls_ingress() 158 if (eth + 1 > data_end) in cls_ingress() [all …]
|
D | test_tc_neigh_fib.c | 27 void *data_end = ctx_ptr(skb->data_end); in fill_fib_params_v4() local 31 if (data + sizeof(struct ethhdr) > data_end) in fill_fib_params_v4() 35 if ((void *)(ip4h + 1) > data_end) in fill_fib_params_v4() 55 void *data_end = ctx_ptr(skb->data_end); in fill_fib_params_v6() local 59 if (data + sizeof(struct ethhdr) > data_end) in fill_fib_params_v6() 63 if ((void *)(ip6h + 1) > data_end) in fill_fib_params_v6() 81 void *data_end = ctx_ptr(skb->data_end); in tc_chk() local 85 if (data + sizeof(struct ethhdr) > data_end) in tc_chk() 128 void *data_end = ctx_ptr(skb->data_end); in tc_redir() local 131 if (eth + 1 > data_end) in tc_redir()
|
D | test_xdp_vlan.c | 57 bool parse_eth_frame(struct ethhdr *eth, void *data_end, struct parse_pkt *pkt) in parse_eth_frame() argument 64 if ((void *)eth + offset + (2*sizeof(struct _vlan_hdr)) > data_end) in parse_eth_frame() 108 void *data_end = (void *)(long)ctx->data_end; in xdp_prognum0() local 112 if (!parse_eth_frame(data, data_end, &pkt)) in xdp_prognum0() 150 void *data_end = (void *)(long)ctx->data_end; in xdp_prognum1() local 154 if (!parse_eth_frame(data, data_end, &pkt)) in xdp_prognum1() 184 void *data_end = (void *)(long)ctx->data_end; in xdp_prognum2() local 189 if (!parse_eth_frame(data, data_end, &pkt)) in xdp_prognum2() 243 void *data_end = (void *)(long)ctx->data_end; in xdp_prognum3() local 248 if (!parse_eth_frame(orig_eth, data_end, &pkt)) in xdp_prognum3()
|
D | test_tc_neigh.c | 42 void *data_end = ctx_ptr(skb->data_end); in is_remote_ep_v4() local 46 if (data + sizeof(struct ethhdr) > data_end) in is_remote_ep_v4() 50 if ((void *)(ip4h + 1) > data_end) in is_remote_ep_v4() 59 void *data_end = ctx_ptr(skb->data_end); in is_remote_ep_v6() local 63 if (data + sizeof(struct ethhdr) > data_end) in is_remote_ep_v6() 67 if ((void *)(ip6h + 1) > data_end) in is_remote_ep_v6() 76 void *data_end = ctx_ptr(skb->data_end); in tc_chk() local 80 if (data + sizeof(struct ethhdr) > data_end) in tc_chk()
|
D | test_tcp_check_syncookie_kern.c | 26 static __always_inline __s64 gen_syncookie(void *data_end, struct bpf_sock *sk, in gen_syncookie() argument 37 if ((void *)tcph + thlen > data_end) in gen_syncookie() 46 void *data_end) in check_syncookie() argument 61 if (ethh + 1 > data_end) in check_syncookie() 67 if (ipv4h + 1 > data_end) in check_syncookie() 74 if (tcph + 1 > data_end) in check_syncookie() 90 seq_mss = gen_syncookie(data_end, sk, ipv4h, sizeof(*ipv4h), in check_syncookie() 99 if (ipv6h + 1 > data_end) in check_syncookie() 106 if (tcph + 1 > data_end) in check_syncookie() 122 seq_mss = gen_syncookie(data_end, sk, ipv6h, sizeof(*ipv6h), in check_syncookie() [all …]
|
D | test_pkt_access.c | 83 void *data_end = (void *)(long)skb->data_end; in test_pkt_write_access_subprog() local 90 if (tcp + 1 > data_end) in test_pkt_write_access_subprog() 100 void *data_end = (void *)(long)skb->data_end; in test_pkt_access() local 107 if (eth + 1 > data_end) in test_pkt_access() 113 if (iph + 1 > data_end) in test_pkt_access() 121 if (ip6h + 1 > data_end) in test_pkt_access() 137 if (((void *)(tcp) + 20) > data_end || proto != 6) in test_pkt_access() 140 if (((void *)(tcp) + 18) > data_end) in test_pkt_access()
|
D | test_xdp_meta.c | 14 __u8 *data, *data_meta, *data_end; in ing_cls() local 18 data_end = ctx_ptr(ctx, data_end); in ing_cls() 21 if (data + ETH_ALEN > data_end || in ing_cls() 34 __u8 *data, *data_meta, *data_end; in ing_xdp() local 42 data_end = ctx_ptr(ctx, data_end); in ing_xdp() 45 if (data + ETH_ALEN > data_end || in ing_xdp()
|
D | sockmap_parse_prog.c | 8 void *data_end = (void *)(long) skb->data_end; in bpf_prog1() local 13 if (data + 10 > data_end) { in bpf_prog1() 18 data_end = (void *)(long)skb->data_end; in bpf_prog1() 20 if (data + 10 > data_end) in bpf_prog1()
|
D | test_tc_edt.c | 67 void *data_end = (void *)(long)skb->data_end; in handle_tcp() local 70 if ((void *)(tcp + 1) > data_end) in handle_tcp() 81 void *data_end = (void *)(long)skb->data_end; in handle_ipv4() local 87 if (data + sizeof(struct ethhdr) > data_end) in handle_ipv4() 90 if ((void *)(iph + 1) > data_end) in handle_ipv4() 93 if (((void *)iph) + ihl > data_end) in handle_ipv4()
|
D | test_check_mtu.c | 61 void *data_end = (void *)(long)ctx->data_end; in xdp_exceed_mtu() local 64 __u32 data_len = data_end - data; in xdp_exceed_mtu() 88 void *data_end = (void *)(long)ctx->data_end; in xdp_minus_delta() local 91 __u32 data_len = data_end - data; in xdp_minus_delta() 112 void *data_end = (void *)(long)ctx->data_end; in xdp_input_len() local 115 __u32 data_len = data_end - data; in xdp_input_len() 203 void *data_end = (void *)(long)ctx->data_end; in tc_exceed_mtu_da() local 206 __u32 data_len = data_end - data; in tc_exceed_mtu_da()
|
D | test_l4lb_noinline.c | 233 static __noinline int parse_icmpv6(void *data, void *data_end, __u64 off, in parse_icmpv6() argument 240 if (icmp_hdr + 1 > data_end) in parse_icmpv6() 246 if (ip6h + 1 > data_end) in parse_icmpv6() 255 static __noinline int parse_icmp(void *data, void *data_end, __u64 off, in parse_icmp() argument 262 if (icmp_hdr + 1 > data_end) in parse_icmp() 269 if (iph + 1 > data_end) in parse_icmp() 280 static __noinline bool parse_udp(void *data, __u64 off, void *data_end, in parse_udp() argument 286 if (udp + 1 > data_end) in parse_udp() 299 static __noinline bool parse_tcp(void *data, __u64 off, void *data_end, in parse_tcp() argument 305 if (tcp + 1 > data_end) in parse_tcp() [all …]
|
D | test_l4lb.c | 234 static __always_inline int parse_icmpv6(void *data, void *data_end, __u64 off, in parse_icmpv6() argument 241 if (icmp_hdr + 1 > data_end) in parse_icmpv6() 247 if (ip6h + 1 > data_end) in parse_icmpv6() 256 static __always_inline int parse_icmp(void *data, void *data_end, __u64 off, in parse_icmp() argument 263 if (icmp_hdr + 1 > data_end) in parse_icmp() 270 if (iph + 1 > data_end) in parse_icmp() 281 static __always_inline bool parse_udp(void *data, __u64 off, void *data_end, in parse_udp() argument 287 if (udp + 1 > data_end) in parse_udp() 300 static __always_inline bool parse_tcp(void *data, __u64 off, void *data_end, in parse_tcp() argument 306 if (tcp + 1 > data_end) in parse_tcp() [all …]
|
/linux-5.19.10/tools/testing/selftests/net/bpf/ |
D | nat6to4.c | 53 const void *data_end = (void *)(long)skb->data_end; in sched_cls_ingress6_nat_6_prog() local 66 if (data + l2_header_size + sizeof(*ip6) > data_end) in sched_cls_ingress6_nat_6_prog() 135 data_end = (void *)(long)skb->data_end; in sched_cls_ingress6_nat_6_prog() 136 if (data + l2_header_size + sizeof(struct iphdr) > data_end) in sched_cls_ingress6_nat_6_prog() 154 const void *data_end = (void *)(long)skb->data_end; in sched_cls_egress4_snat4_prog() local 163 if (data + l2_header_size + sizeof(struct ipv6hdr) > data_end) in sched_cls_egress4_snat4_prog() 210 if (data + sizeof(*ip4) + sizeof(struct udphdr) > data_end) in sched_cls_egress4_snat4_prog() 269 data_end = (void *)(long)skb->data_end; in sched_cls_egress4_snat4_prog() 273 if (data + l2_header_size + sizeof(ip6) > data_end) in sched_cls_egress4_snat4_prog()
|