diff options
-rw-r--r-- | samples/bpf/xdp_router_ipv4_user.c | 7 | ||||
-rw-r--r-- | samples/bpf/xdp_sample_pkts_user.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/samples/bpf/xdp_router_ipv4_user.c b/samples/bpf/xdp_router_ipv4_user.c index cea2306f5ab7..c63c6beec7d6 100644 --- a/samples/bpf/xdp_router_ipv4_user.c +++ b/samples/bpf/xdp_router_ipv4_user.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <sys/syscall.h> | 25 | #include <sys/syscall.h> |
26 | #include "bpf_util.h" | 26 | #include "bpf_util.h" |
27 | #include "bpf/libbpf.h" | 27 | #include "bpf/libbpf.h" |
28 | #include <sys/resource.h> | ||
28 | 29 | ||
29 | int sock, sock_arp, flags = 0; | 30 | int sock, sock_arp, flags = 0; |
30 | static int total_ifindex; | 31 | static int total_ifindex; |
@@ -609,6 +610,7 @@ cleanup: | |||
609 | 610 | ||
610 | int main(int ac, char **argv) | 611 | int main(int ac, char **argv) |
611 | { | 612 | { |
613 | struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY}; | ||
612 | struct bpf_prog_load_attr prog_load_attr = { | 614 | struct bpf_prog_load_attr prog_load_attr = { |
613 | .prog_type = BPF_PROG_TYPE_XDP, | 615 | .prog_type = BPF_PROG_TYPE_XDP, |
614 | }; | 616 | }; |
@@ -635,6 +637,11 @@ int main(int ac, char **argv) | |||
635 | ifname_list = (argv + 1); | 637 | ifname_list = (argv + 1); |
636 | } | 638 | } |
637 | 639 | ||
640 | if (setrlimit(RLIMIT_MEMLOCK, &r)) { | ||
641 | perror("setrlimit(RLIMIT_MEMLOCK)"); | ||
642 | return 1; | ||
643 | } | ||
644 | |||
638 | if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd)) | 645 | if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd)) |
639 | return 1; | 646 | return 1; |
640 | 647 | ||
diff --git a/samples/bpf/xdp_sample_pkts_user.c b/samples/bpf/xdp_sample_pkts_user.c index 8dd87c1eb560..5f5828ee0761 100644 --- a/samples/bpf/xdp_sample_pkts_user.c +++ b/samples/bpf/xdp_sample_pkts_user.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <signal.h> | 12 | #include <signal.h> |
13 | #include <libbpf.h> | 13 | #include <libbpf.h> |
14 | #include <bpf/bpf.h> | 14 | #include <bpf/bpf.h> |
15 | #include <sys/resource.h> | ||
15 | 16 | ||
16 | #include "perf-sys.h" | 17 | #include "perf-sys.h" |
17 | #include "trace_helpers.h" | 18 | #include "trace_helpers.h" |
@@ -99,6 +100,7 @@ static void sig_handler(int signo) | |||
99 | 100 | ||
100 | int main(int argc, char **argv) | 101 | int main(int argc, char **argv) |
101 | { | 102 | { |
103 | struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY}; | ||
102 | struct bpf_prog_load_attr prog_load_attr = { | 104 | struct bpf_prog_load_attr prog_load_attr = { |
103 | .prog_type = BPF_PROG_TYPE_XDP, | 105 | .prog_type = BPF_PROG_TYPE_XDP, |
104 | }; | 106 | }; |
@@ -114,6 +116,11 @@ int main(int argc, char **argv) | |||
114 | return 1; | 116 | return 1; |
115 | } | 117 | } |
116 | 118 | ||
119 | if (setrlimit(RLIMIT_MEMLOCK, &r)) { | ||
120 | perror("setrlimit(RLIMIT_MEMLOCK)"); | ||
121 | return 1; | ||
122 | } | ||
123 | |||
117 | numcpus = get_nprocs(); | 124 | numcpus = get_nprocs(); |
118 | if (numcpus > MAX_CPUS) | 125 | if (numcpus > MAX_CPUS) |
119 | numcpus = MAX_CPUS; | 126 | numcpus = MAX_CPUS; |