| /tools/testing/selftests/bpf/progs/ |
| A D | test_global_func3.c | 9 int f1(struct __sk_buff *skb) in f1() argument 11 return skb->len; in f1() 17 return f1(skb) + val; in f2() 23 return f2(var, skb) + val; in f3() 27 int f4(struct __sk_buff *skb) in f4() argument 29 return f3(1, skb, 2); in f4() 35 return f4(skb); in f5() 41 return f5(skb); in f6() 47 return f6(skb); in f7() 53 return f7(skb); in f8() [all …]
|
| A D | test_global_func4.c | 9 int f1(struct __sk_buff *skb) in f1() argument 11 return skb->len; in f1() 17 return f1(skb) + val; in f2() 23 return f2(var, skb) + val; in f3() 27 int f4(struct __sk_buff *skb) in f4() argument 29 return f3(1, skb, 2); in f4() 33 int f5(struct __sk_buff *skb) in f5() argument 35 return f4(skb); in f5() 41 return f5(skb); in f6() 47 return f6(skb); in f7() [all …]
|
| A D | test_global_func2.c | 11 int f0(int var, struct __sk_buff *skb) in f0() argument 13 return skb->len; in f0() 17 int f1(struct __sk_buff *skb) in f1() argument 23 return f0(0, skb) + skb->len; in f1() 26 int f3(int, struct __sk_buff *skb, int); 29 int f2(int val, struct __sk_buff *skb) in f2() argument 31 return f1(skb) + f3(val, skb, 1); in f2() 35 int f3(int val, struct __sk_buff *skb, int var) in f3() argument 41 return skb->ifindex * val * var; in f3() 46 int global_func2(struct __sk_buff *skb) in global_func2() argument [all …]
|
| A D | test_pkt_access.c | 39 return skb->len * 2; in test_pkt_access_subprog1() 45 return skb->len * val; in test_pkt_access_subprog2() 51 int get_skb_len(struct __sk_buff *skb) in get_skb_len() argument 57 return skb->len; in get_skb_len() 71 return get_skb_len(skb) * get_skb_ifindex(val, skb, get_constant(123)); in test_pkt_access_subprog3() 81 return skb->ifindex * val * var; in get_skb_ifindex() 87 void *data = (void *)(long)skb->data; in test_pkt_write_access_subprog() 106 void *data = (void *)(long)skb->data; in test_pkt_access() 133 if (test_pkt_access_subprog1(skb) != skb->len * 2) in test_pkt_access() 135 if (test_pkt_access_subprog2(2, skb) != skb->len * 2) in test_pkt_access() [all …]
|
| A D | test_global_func1.c | 11 int f0(int var, struct __sk_buff *skb) in f0() argument 15 return skb->len; in f0() 19 int f1(struct __sk_buff *skb) in f1() argument 25 return f0(0, skb) + skb->len; in f1() 28 int f3(int, struct __sk_buff *skb, int); 31 int f2(int val, struct __sk_buff *skb) in f2() argument 37 return f1(skb) + f3(val, skb, 1); in f2() 41 int f3(int val, struct __sk_buff *skb, int var) in f3() argument 47 return skb->ifindex * val * var; in f3() 52 int global_func1(struct __sk_buff *skb) in global_func1() argument [all …]
|
| A D | tailcall_bpf2bpf4.c | 36 return skb->len * 3; in subprog_tail_2() 43 return skb->len * 2; in subprog_tail_1() 47 int subprog_tail(struct __sk_buff *skb) in subprog_tail() argument 50 return skb->len; in subprog_tail() 54 int classifier_1(struct __sk_buff *skb) in classifier_1() argument 56 return subprog_tail_2(skb); in classifier_1() 60 int classifier_2(struct __sk_buff *skb) in classifier_2() argument 63 return subprog_tail_2(skb); in classifier_2() 69 return subprog_tail_1(skb); in classifier_0() 73 int entry(struct __sk_buff *skb) in entry() argument [all …]
|
| A D | test_skb_ctx.c | 11 int process(struct __sk_buff *skb) in process() argument 15 if (skb->cb[i] != i + 1) in process() 17 skb->cb[i]++; in process() 19 skb->priority++; in process() 20 skb->tstamp++; in process() 21 skb->mark++; in process() 23 if (skb->wire_len != 100) in process() 25 if (skb->gso_segs != 8) in process() 27 if (skb->gso_size != 10) in process() 31 if (skb->ifindex != 1) in process() [all …]
|
| A D | test_lwt_redirect.c | 12 static int prepend_dummy_mac(struct __sk_buff *skb) in prepend_dummy_mac() argument 17 if (bpf_skb_change_head(skb, ETH_HLEN, 0)) in prepend_dummy_mac() 30 void *start = (void *)(long)skb->data; in get_redirect_target() 31 void *end = (void *)(long)skb->data_end; in get_redirect_target() 41 int test_lwt_redirect_in(struct __sk_buff *skb) in test_lwt_redirect_in() argument 43 int target = get_redirect_target(skb); in test_lwt_redirect_in() 48 if (prepend_dummy_mac(skb)) in test_lwt_redirect_in() 57 int target = get_redirect_target(skb); in test_lwt_redirect_out() 62 if (prepend_dummy_mac(skb)) in test_lwt_redirect_out() 71 int target = get_redirect_target(skb); in test_lwt_redirect_out_nomac() [all …]
|
| A D | test_tc_tunnel.c | 444 int __encap_gre_none(struct __sk_buff *skb) in __encap_gre_none() argument 453 int __encap_gre_mpls(struct __sk_buff *skb) in __encap_gre_mpls() argument 462 int __encap_gre_eth(struct __sk_buff *skb) in __encap_gre_eth() argument 489 int __encap_udp_eth(struct __sk_buff *skb) in __encap_udp_eth() argument 501 return __encap_ipv4(skb, IPPROTO_UDP, in __encap_vxlan_eth() 530 return encap_ipv6_ipip6(skb); in __encap_ipip6_none() 593 return __encap_ipv6(skb, IPPROTO_UDP, in __encap_ip6vxlan_eth() 697 int decap_f(struct __sk_buff *skb) in decap_f() argument 699 switch (skb->protocol) { in decap_f() 701 return decap_ipv4(skb); in decap_f() [all …]
|
| A D | tailcall_bpf2bpf3.c | 15 int subprog_tail2(struct __sk_buff *skb) in subprog_tail2() argument 19 if (load_word(skb, 0) || load_half(skb, 0)) in subprog_tail2() 26 return skb->len; in subprog_tail2() 30 int subprog_tail(struct __sk_buff *skb) in subprog_tail() argument 38 return skb->len * 2; in subprog_tail() 42 int classifier_0(struct __sk_buff *skb) in classifier_0() argument 48 return subprog_tail2(skb); in classifier_0() 52 int classifier_1(struct __sk_buff *skb) in classifier_1() argument 58 return skb->len * 3; in classifier_1() 62 int entry(struct __sk_buff *skb) in entry() argument [all …]
|
| A D | tailcall1.c | 15 int classifier_##x(struct __sk_buff *skb) \ 24 int entry(struct __sk_buff *skb) in entry() argument 29 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 30 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 31 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 32 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 34 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 35 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 36 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 37 bpf_tail_call_static(skb, &jmp_table, 1); in entry() [all …]
|
| A D | test_tc_dtime.c | 150 switch (skb->protocol) { in skb_get_type() 218 skb_type = skb_get_type(skb); in egress_host() 226 skb->tstamp) in egress_host() 232 skb->tstamp) in egress_host() 238 skb->tstamp) in egress_host() 253 skb_type = skb_get_type(skb); in ingress_host() 274 skb_type = skb_get_type(skb); in ingress_fwdns_prio100() 287 skb->tstamp = 0; in ingress_fwdns_prio100() 313 skb->tstamp = 0; in egress_fwdns_prio100() 329 if (skb->tstamp_type) { in ingress_fwdns_prio101() [all …]
|
| A D | test_global_func6.c | 9 int f1(struct __sk_buff *skb) in f1() argument 11 return skb->len; in f1() 14 int f3(int, struct __sk_buff *skb); 17 int f2(int val, struct __sk_buff *skb) in f2() argument 19 return f1(skb) + f3(val, skb + 1); /* type mismatch */ in f2() 23 int f3(int val, struct __sk_buff *skb) in f3() argument 25 return skb->ifindex * val; in f3() 30 int global_func6(struct __sk_buff *skb) in global_func6() argument 32 return f1(skb) + f2(2, skb) + f3(3, skb); in global_func6()
|
| A D | test_tc_link.c | 34 int tc1(struct __sk_buff *skb) in tc1() argument 43 seen_host = skb->pkt_type == PACKET_HOST; in tc1() 57 int tc2(struct __sk_buff *skb) in tc2() argument 64 int tc3(struct __sk_buff *skb) in tc3() argument 71 int tc4(struct __sk_buff *skb) in tc4() argument 78 int tc5(struct __sk_buff *skb) in tc5() argument 85 int tc6(struct __sk_buff *skb) in tc6() argument 92 int tc7(struct __sk_buff *skb) in tc7() argument 119 int tc8(struct __sk_buff *skb) in tc8() argument 124 mark = skb->mark; in tc8() [all …]
|
| A D | tailcall2.c | 14 int classifier_0(struct __sk_buff *skb) in classifier_0() argument 16 bpf_tail_call_static(skb, &jmp_table, 1); in classifier_0() 21 int classifier_1(struct __sk_buff *skb) in classifier_1() argument 23 bpf_tail_call_static(skb, &jmp_table, 2); in classifier_1() 28 int classifier_2(struct __sk_buff *skb) in classifier_2() argument 34 int classifier_3(struct __sk_buff *skb) in classifier_3() argument 36 bpf_tail_call_static(skb, &jmp_table, 4); in classifier_3() 41 int classifier_4(struct __sk_buff *skb) in classifier_4() argument 43 bpf_tail_call_static(skb, &jmp_table, 3); in classifier_4() 48 int entry(struct __sk_buff *skb) in entry() argument [all …]
|
| A D | bpf_qdisc_fifo.c | 10 struct sk_buff __kptr * skb; member 33 pkt_len = qdisc_pkt_len(skb); in BPF_PROG() 36 skb = bpf_kptr_xchg(&skbn->skb, skb); in BPF_PROG() 37 if (skb) in BPF_PROG() 55 struct sk_buff *skb = NULL; in BPF_PROG() local 65 skb = bpf_kptr_xchg(&skbn->skb, skb); in BPF_PROG() 67 if (!skb) in BPF_PROG() 74 return skb; in BPF_PROG() 104 skb = bpf_kptr_xchg(&skbn->skb, skb); in BPF_PROG() 105 if (skb) in BPF_PROG() [all …]
|
| A D | tailcall_bpf2bpf_hierarchy2.c | 6 int classifier_0(struct __sk_buff *skb); 7 int classifier_1(struct __sk_buff *skb); 25 int subprog_tail0(struct __sk_buff *skb) in subprog_tail0() argument 27 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail0() 33 int classifier_0(struct __sk_buff *skb) in classifier_0() argument 36 subprog_tail0(skb); in classifier_0() 41 int subprog_tail1(struct __sk_buff *skb) in subprog_tail1() argument 49 int classifier_1(struct __sk_buff *skb) in classifier_1() argument 52 subprog_tail1(skb); in classifier_1() 63 subprog_tail0(skb); in tailcall_bpf2bpf_hierarchy_2() [all …]
|
| A D | decap_sanity.c | 16 static unsigned int skb_headlen(const struct sk_buff *skb) in skb_headlen() argument 18 return skb->len - skb->data_len; in skb_headlen() 21 static unsigned int skb_headroom(const struct sk_buff *skb) in skb_headroom() argument 23 return skb->data - skb->head; in skb_headroom() 26 static int skb_checksum_start_offset(const struct sk_buff *skb) in skb_checksum_start_offset() argument 28 return skb->csum_start - skb_headroom(skb); in skb_checksum_start_offset() 32 int decap_sanity(struct __sk_buff *skb) in decap_sanity() argument 39 if (skb->protocol != __bpf_constant_htons(ETH_P_IPV6)) in decap_sanity() 42 if (bpf_skb_load_bytes(skb, ETH_HLEN, &ip6h, sizeof(ip6h))) in decap_sanity() 48 if (bpf_skb_load_bytes(skb, ETH_HLEN + sizeof(ip6h), &udph, sizeof(udph))) in decap_sanity() [all …]
|
| A D | test_global_func5.c | 9 int f1(struct __sk_buff *skb) in f1() argument 11 return skb->len; in f1() 14 int f3(int, struct __sk_buff *skb); 17 int f2(int val, struct __sk_buff *skb) in f2() argument 19 return f1(skb) + f3(val, (void *)&val); /* type mismatch */ in f2() 23 int f3(int val, struct __sk_buff *skb) in f3() argument 25 return skb->ifindex * val; in f3() 30 int global_func5(struct __sk_buff *skb) in global_func5() argument 32 return f1(skb) + f2(2, skb) + f3(3, skb); in global_func5()
|
| A D | bpf_flow.c | 97 void *data = (void *)(long)skb->data; in bpf_flow_dissect_get_header() 98 __u16 thoff = skb->flow_keys->thoff; in bpf_flow_dissect_get_header() 144 int _dissect(struct __sk_buff *skb) in _dissect() argument 269 return parse_ip_proto(skb, nexthdr); in parse_ipv6_proto() 275 PROG(IP)(struct __sk_buff *skb) in PROG() 279 void *data = (void *)(long)skb->data; in PROG() 324 PROG(IPV6)(struct __sk_buff *skb) in PROG() 346 PROG(IPV6OP)(struct __sk_buff *skb) in PROG() 364 PROG(IPV6FR)(struct __sk_buff *skb) in PROG() 392 PROG(MPLS)(struct __sk_buff *skb) in PROG() [all …]
|
| A D | test_tc_change_tail.c | 14 void *data_end = (void *)(long)skb->data_end; in parse_ip_header() 15 void *data = (void *)(long)skb->data; in parse_ip_header() 43 void *data_end = (void *)(long)skb->data_end; in parse_udp_header() 59 int change_tail(struct __sk_buff *skb) in change_tail() argument 61 int len = skb->len; in change_tail() 68 bpf_skb_pull_data(skb, len); in change_tail() 70 data_end = (void *)(long)skb->data_end; in change_tail() 71 iph = parse_ip_header(skb, &ip_proto); in change_tail() 78 udp = parse_udp_header(skb, iph); in change_tail() 89 bpf_skb_change_tail(skb, len, 0); in change_tail() [all …]
|
| A D | fexit_bpf2bpf.c | 23 len = skb->len; in BPF_PROG() 38 len = skb->len; in BPF_PROG() 68 struct sk_buff *skb = (void *)ctx->args[0]; in test_subprog2() local 95 len = skb->len; in BPF_PROG() 105 int new_get_skb_len(struct __sk_buff *skb) in new_get_skb_len() argument 107 int len = skb->len; in new_get_skb_len() 119 void *data_end = (void *)(long)skb->data_end; in new_get_skb_ifindex() 120 void *data = (void *)(long)skb->data; in new_get_skb_ifindex() 122 int ifindex = skb->ifindex; in new_get_skb_ifindex() 160 void *data = (void *)(long)skb->data; in new_test_pkt_write_access_subprog() [all …]
|
| A D | test_tc_neigh.c | 42 void *data_end = ctx_ptr(skb->data_end); in is_remote_ep_v4() 43 void *data = ctx_ptr(skb->data); in is_remote_ep_v4() 59 void *data_end = ctx_ptr(skb->data_end); in is_remote_ep_v6() 60 void *data = ctx_ptr(skb->data); in is_remote_ep_v6() 74 int tc_chk(struct __sk_buff *skb) in tc_chk() argument 76 void *data_end = ctx_ptr(skb->data_end); in tc_chk() 77 void *data = ctx_ptr(skb->data); in tc_chk() 87 int tc_dst(struct __sk_buff *skb) in tc_dst() argument 92 switch (skb->protocol) { in tc_dst() 112 int tc_src(struct __sk_buff *skb) in tc_src() argument [all …]
|
| A D | test_sk_lookup_kern.c | 56 int sk_lookup_success(struct __sk_buff *skb) in sk_lookup_success() argument 58 void *data_end = (void *)(long)skb->data_end; in sk_lookup_success() 59 void *data = (void *)(long)skb->data; in sk_lookup_success() 94 int err_use_after_free(struct __sk_buff *skb) in err_use_after_free() argument 109 int err_modify_sk_pointer(struct __sk_buff *skb) in err_modify_sk_pointer() argument 136 int err_no_release(struct __sk_buff *skb) in err_no_release() argument 145 int err_release_twice(struct __sk_buff *skb) in err_release_twice() argument 157 int err_release_unchecked(struct __sk_buff *skb) in err_release_unchecked() argument 167 void lookup_no_release(struct __sk_buff *skb) in lookup_no_release() argument 174 int err_no_release_subcall(struct __sk_buff *skb) in err_no_release_subcall() argument [all …]
|
| /tools/testing/selftests/bpf/prog_tests/ |
| A D | skb_ctx.c | 7 struct __sk_buff skb = { in test_skb_ctx() local 26 .ctx_in = &skb, in test_skb_ctx() 27 .ctx_size_in = sizeof(skb), in test_skb_ctx() 28 .ctx_out = &skb, in test_skb_ctx() 55 skb.len = 1; in test_skb_ctx() 58 skb.len = 0; in test_skb_ctx() 60 skb.tc_index = 1; in test_skb_ctx() 63 skb.tc_index = 0; in test_skb_ctx() 67 skb.hash = 1; in test_skb_ctx() 70 skb.hash = 0; in test_skb_ctx() [all …]
|