/* Copyright (c) 2016 Sargun Dhillon * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. */ #define _GNU_SOURCE #include #include #include #include "libbpf.h" #include "bpf_load.h" #include #include "cgroup_helpers.h" #define CGROUP_PATH "/my-cgroup" int main(int argc, char **argv) { pid_t remote_pid, local_pid = getpid(); int cg2, idx = 0, rc = 0; char filename[256]; snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]); if (load_bpf_file(filename)) { printf("%s", bpf_log_buf); return 1; } if (setup_cgroup_environment()) goto err; cg2 = create_and_get_cgroup(CGROUP_PATH); if (!cg2) goto err; if (bpf_map_update_elem(map_fd[0], &idx, &cg2, BPF_ANY)) { log_err("Adding target cgroup to map"); goto err; } if (join_cgroup(CGROUP_PATH)) goto err; /* * The installed helper program catched the sync call, and should * write it to the map. */ sync(); bpf_map_lookup_elem(map_fd[1], &idx, &remote_pid); if (local_pid != remote_pid) { fprintf(stderr, "BPF Helper didn't write correct PID to map, but: %d\n", remote_pid); goto err; } /* Verify the negative scenario; leave the cgroup */ if (join_cgroup("/")) goto err; remote_pid = 0; bpf_map_update_elem(map_fd[1], &idx, &remote_pid, BPF_ANY); sync(); bpf_map_lookup_elem(map_fd[1], &idx, &remote_pid); if (local_pid == remote_pid) { fprintf(stderr, "BPF cgroup negative test did not work\n"); goto err; } goto out; err: rc = 1; out: close(cg2); cleanup_cgroup_environment(); return rc; } inux/net-next.git/log/net/xfrm/xfrm_policy.c?h=nds-private-remove'>logtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ahern <dsa@cumulusnetworks.com>2017-01-30 12:07:37 -0800
committerDavid S. Miller <davem@davemloft.net>2017-01-30 15:14:22 -0500
commit30357d7d8aaf2a980ab17c2ce054b2b87e60af88 (patch)
tree296e78783c0ad08a55440a84b6c294de37f1fa72 /net/xfrm/xfrm_policy.c
parent6ad20165d376fa07919a70e4f43dfae564601829 (diff)
lwtunnel: remove device arg to lwtunnel_build_state
Nothing about lwt state requires a device reference, so remove the input argument. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')