aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2016-11-23 10:52:26 -0500
committerDavid S. Miller <davem@davemloft.net>2016-11-25 16:25:52 -0500
commit3007098494bec614fb55dee7bc0410bb7db5ad18 (patch)
treeff07e31da90fd790d2ae4f129d04954b70766057 /init
parent0e33661de493db325435d565a4a722120ae4cbf3 (diff)
cgroup: add support for eBPF programs
This patch adds two sets of eBPF program pointers to struct cgroup. One for such that are directly pinned to a cgroup, and one for such that are effective for it. To illustrate the logic behind that, assume the following example cgroup hierarchy. A - B - C \ D - E If only B has a program attached, it will be effective for B, C, D and E. If D then attaches a program itself, that will be effective for both D and E, and the program in B will only affect B and C. Only one program of a given type is effective for a cgroup. Attaching and detaching programs will be done through the bpf(2) syscall. For now, ingress and egress inet socket filtering are the only supported use-cases. Signed-off-by: Daniel Mack <daniel@zonque.org> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 34407f15e6d3..405120b5f13e 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1154,6 +1154,18 @@ config CGROUP_PERF
1154 1154
1155 Say N if unsure. 1155 Say N if unsure.
1156 1156
1157config CGROUP_BPF
1158 bool "Support for eBPF programs attached to cgroups"
1159 depends on BPF_SYSCALL && SOCK_CGROUP_DATA
1160 help
1161 Allow attaching eBPF programs to a cgroup using the bpf(2)
1162 syscall command BPF_PROG_ATTACH.
1163
1164 In which context these programs are accessed depends on the type
1165 of attachment. For instance, programs that are attached using
1166 BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
1167 inet sockets.
1168
1157config CGROUP_DEBUG 1169config CGROUP_DEBUG
1158 bool "Example controller" 1170 bool "Example controller"
1159 default n 1171 default n