/kernel/linux/linux-5.10/samples/bpf/ |
H A 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 117 void *data_end = (void *)(long)skb->data_end; handle_ingress() local [all...] |
H A 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() 154 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 218 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A D | xdp_redirect_cpu_kern.c | 115 bool parse_eth(struct ethhdr *eth, void *data_end, in parse_eth() argument 122 if ((void *)eth + offset > data_end) in parse_eth() 137 if ((void *)eth + offset > data_end) in parse_eth() 147 if ((void *)eth + offset > data_end) in parse_eth() 160 void *data_end = (void *)(long)ctx->data_end; in get_dest_port_ipv4_udp() local 166 if (iph + 1 > data_end) in get_dest_port_ipv4_udp() 172 if (udph + 1 > data_end) in get_dest_port_ipv4_udp() 182 void *data_end = (void *)(long)ctx->data_end; in get_proto_ipv4() local 194 void *data_end = (void *)(long)ctx->data_end; get_proto_ipv6() local 206 void *data_end = (void *)(long)ctx->data_end; xdp_prognum0_no_touch() local 236 void *data_end = (void *)(long)ctx->data_end; xdp_prognum1_touch_data() local 279 void *data_end = (void *)(long)ctx->data_end; xdp_prognum2_round_robin() local 327 void *data_end = (void *)(long)ctx->data_end; xdp_prognum3_proto_separate() local 395 void *data_end = (void *)(long)ctx->data_end; xdp_prognum4_ddos_filter_pktgen() local 474 void *data_end = (void *)(long)ctx->data_end; get_ipv4_hash_ip_pair() local 491 void *data_end = (void *)(long)ctx->data_end; get_ipv6_hash_ip_pair() local 515 void *data_end = (void *)(long)ctx->data_end; xdp_prognum5_lb_hash_ip_pairs() local [all...] |
H A 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 in _l2_to_ip6tun_ingress_redirect() local 211 void *data_end = (void *)(long)skb->data_end; _drop_non_tun_vip() local [all...] |
H A 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() 65 if (data + nh_off > data_end) in xdp_prog1() 74 if (data + nh_off > data_end) in xdp_prog1() 80 ipproto = parse_ipv4(data, nh_off, data_end); in xdp_prog1() [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A 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 117 void *data_end = (void *)(long)skb->data_end; handle_ingress() local [all...] |
H A 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() 154 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 218 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A 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 in _l2_to_ip6tun_ingress_redirect() local 211 void *data_end = (void *)(long)skb->data_end; _drop_non_tun_vip() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | verifier_direct_packet_access.c | 20 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in __retval() 40 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in direct_packet_access_test1() 74 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)), in direct_packet_access_test2() 110 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in direct_packet_access_test4_write() 132 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in pkt_end_reg_good_access() 154 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in pkt_end_reg_bad_access() 177 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in pkt_end_reg_both_accesses() 201 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in test8_double_test_variant_1() 225 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in test9_double_test_variant_2() 247 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in packet_access_test10_write_invalid() [all...] |
H A 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() 257 parse_gue_v6(struct pkt_info *info, struct ipv6hdr *ip6h, void *data_end) parse_gue_v6() argument 298 parse_ipv6_gue(struct pkt_info *info, void *data, void *data_end) parse_ipv6_gue() argument 320 void *data_end = (void *)(long)(ctx->data_end); edgewall() local [all...] |
H A 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 [all...] |
H A 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; encap_v4() local 375 swap_mac_and_send(void *data, void *data_end) swap_mac_and_send() argument 388 send_icmp_reply(void *data, void *data_end) send_icmp_reply() argument 420 send_icmp6_reply(void *data, void *data_end) send_icmp6_reply() argument 444 parse_icmpv6(void *data, void *data_end, __u64 off, struct packet_description *pckt) parse_icmpv6() argument 469 parse_icmp(void *data, void *data_end, __u64 off, struct packet_description *pckt) parse_icmp() argument 588 process_l3_headers_v6(struct packet_description *pckt, __u8 *protocol, __u64 off, __u16 *pkt_bytes, void *data, void *data_end) process_l3_headers_v6() argument 619 process_l3_headers_v4(struct packet_description *pckt, __u8 *protocol, __u64 off, __u16 *pkt_bytes, void *data, void *data_end) process_l3_headers_v4() argument 650 process_packet(void *data, __u64 off, void *data_end, bool is_ipv6, struct xdp_md *xdp) process_packet() argument 761 void *data_end = (void *)(long)ctx->data_end; balancer_ingress_v4() local 780 void *data_end = (void *)(long)ctx->data_end; balancer_ingress_v6() local [all...] |
H A D | verifier_helper_packet_access.c | 36 __imm_const(xdp_md_data_end, offsetof(struct xdp_md, data_end)) in test1_valid_packet_ptr_range() 84 __imm_const(xdp_md_data_end, offsetof(struct xdp_md, data_end)) in to_packet_test3_variable_add() 109 __imm_const(xdp_md_data_end, offsetof(struct xdp_md, data_end)) in packet_ptr_with_bad_range_1() 133 __imm_const(xdp_md_data_end, offsetof(struct xdp_md, data_end)) in ptr_with_too_short_range_1() 158 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in cls_valid_packet_ptr_range() 206 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in packet_test8_cls_variable_add() 231 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in packet_ptr_with_bad_range_2() 255 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in ptr_with_too_short_range_2() 280 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in test11_cls_unsuitable_helper_1() 303 __imm_const(__sk_buff_data_end, offsetof(struct __sk_buff, data_end)) in test12_cls_unsuitable_helper_2() [all...] |
H A 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() 153 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 214 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A 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() 149 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 210 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A D | test_xdp_do_redirect.c | 32 void *data_end = (void *)(long)xdp->data_end; in xdp_redirect() local 38 if (payload + 1 > data_end) in xdp_redirect() 67 static bool check_pkt(void *data, void *data_end, const __u32 mark) in check_pkt() argument 72 if (payload + 1 > data_end) in check_pkt() 89 void *data_end = (void *)(long)xdp->data_end; in xdp_count_pkts() local 91 if (check_pkt(data, data_end, MARK_XMIT)) in xdp_count_pkts() 105 void *data_end = (void *)(long)skb->data_end; in tc_count_pkts() local [all...] |
H A 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 128 void *data_end = ctx_ptr(skb->data_end); tc_redir() local [all...] |
H A 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 230 void *data_end = (void *)(long)ctx->data_end; xdp_prognum3() local [all...] |
H A D | vrf_socket_lookup.c | 18 static void socket_lookup(void *ctx, void *data_end, void *data) in socket_lookup() argument 26 if (eth + 1 > data_end) in socket_lookup() 33 if (iph + 1 > data_end) in socket_lookup() 38 if ((void *)tp + tplen > data_end) in socket_lookup() 66 void *data_end = (void *)(long)skb->data_end; in tc_socket_lookup() local 72 socket_lookup(skb, data_end, data); in tc_socket_lookup() 79 void *data_end = (void *)(long)xdp->data_end; in xdp_socket_lookup() local 85 socket_lookup(xdp, data_end, dat in xdp_socket_lookup() [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A 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; encap_v4() local 375 decap_v6(struct xdp_md *xdp, void **data, void **data_end, bool inner_v4) decap_v6() argument 396 decap_v4(struct xdp_md *xdp, void **data, void **data_end) decap_v4() argument 414 swap_mac_and_send(void *data, void *data_end) swap_mac_and_send() argument 427 send_icmp_reply(void *data, void *data_end) send_icmp_reply() argument 460 send_icmp6_reply(void *data, void *data_end) send_icmp6_reply() argument 484 parse_icmpv6(void *data, void *data_end, __u64 off, struct packet_description *pckt) parse_icmpv6() argument 509 parse_icmp(void *data, void *data_end, __u64 off, struct packet_description *pckt) parse_icmp() argument 628 process_l3_headers_v6(struct packet_description *pckt, __u8 *protocol, __u64 off, __u16 *pkt_bytes, void *data, void *data_end) process_l3_headers_v6() argument 659 process_l3_headers_v4(struct packet_description *pckt, __u8 *protocol, __u64 off, __u16 *pkt_bytes, void *data, void *data_end) process_l3_headers_v4() argument 691 process_packet(void *data, __u64 off, void *data_end, bool is_ipv6, struct xdp_md *xdp) process_packet() argument 804 void *data_end = (void *)(long)ctx->data_end; balancer_ingress_v4() local 823 void *data_end = (void *)(long)ctx->data_end; balancer_ingress_v6() local [all...] |
H A 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 [all...] |
H A D | test_xdp.c | 48 static __always_inline int get_dport(void *trans_data, void *data_end, in get_dport() argument 57 if (th + 1 > data_end) in get_dport() 62 if (uh + 1 > data_end) in get_dport() 82 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 95 if (iph + 1 > data_end) in handle_ipv4() 98 dport = get_dport(iph + 1, data_end, iph->protocol); in handle_ipv4() 117 data_end = (void *)(long)xdp->data_end; in handle_ipv4() 123 if (new_eth + 1 > data_end || in handle_ipv4() 155 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 216 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A D | test_xdp_loop.c | 44 static __always_inline int get_dport(void *trans_data, void *data_end, in get_dport() argument 53 if (th + 1 > data_end) in get_dport() 58 if (uh + 1 > data_end) in get_dport() 78 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4() local 91 if (iph + 1 > data_end) in handle_ipv4() 94 dport = get_dport(iph + 1, data_end, iph->protocol); in handle_ipv4() 113 data_end = (void *)(long)xdp->data_end; in handle_ipv4() 119 if (new_eth + 1 > data_end || in handle_ipv4() 151 void *data_end = (void *)(long)xdp->data_end; handle_ipv6() local 212 void *data_end = (void *)(long)xdp->data_end; _xdp_tx_iptunnel() local [all...] |
H A 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() 80 void *data_end = ctx_ptr(skb->data_end); in tc_chk() local 127 void *data_end = ctx_ptr(skb->data_end); tc_redir() local [all...] |
H A 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 243 void *data_end = (void *)(long)ctx->data_end; xdp_prognum3() local [all...] |