bpf: sockmap set rlimit
authorJohn Fastabend <[email protected]>
Mon, 22 Jan 2018 18:37:11 +0000 (10:37 -0800)
committerDaniel Borkmann <[email protected]>
Wed, 24 Jan 2018 09:46:59 +0000 (10:46 +0100)
Avoid extra step of setting limit from cmdline and do it directly in
the program.

Signed-off-by: John Fastabend <[email protected]>
Acked-by: Martin KaFai Lau <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
samples/sockmap/sockmap_user.c

index fe943c903310336246ca94f8eaee7299e5b26019..7c25c0c112bc1578fef071cd31e235ec9eaa01bc 100644 (file)
@@ -27,6 +27,7 @@
 #include <time.h>
 
 #include <sys/time.h>
+#include <sys/resource.h>
 #include <sys/types.h>
 
 #include <linux/netlink.h>
@@ -447,6 +448,7 @@ enum {
 int main(int argc, char **argv)
 {
        int iov_count = 1, length = 1024, rate = 1, verbose = 0;
+       struct rlimit r = {10 * 1024 * 1024, RLIM_INFINITY};
        int opt, longindex, err, cg_fd = 0;
        int test = PING_PONG;
        char filename[256];
@@ -501,6 +503,11 @@ int main(int argc, char **argv)
                return -1;
        }
 
+       if (setrlimit(RLIMIT_MEMLOCK, &r)) {
+               perror("setrlimit(RLIMIT_MEMLOCK)");
+               return 1;
+       }
+
        snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
 
        running = 1;