bpf: sockmap requires STREAM_PARSER add Kconfig entry
authorJohn Fastabend <john.fastabend@gmail.com>
Mon, 28 Aug 2017 14:12:21 +0000 (07:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Aug 2017 18:13:22 +0000 (11:13 -0700)
SOCKMAP uses strparser code (compiled with Kconfig option
CONFIG_STREAM_PARSER) to run the parser BPF program. Without this
config option set sockmap wont be compiled. However, at the moment
the only way to pull in the strparser code is to enable KCM.

To resolve this create a BPF specific config option to pull
only the strparser piece in that sockmap needs. This also
allows folks who want to use BPF/syscall/maps but don't need
sockmap to easily opt out.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/Kconfig

index 7d57ef34b79cb09af2675217a0fad574c602798b..17ca213e1f85d458c502cb6c4ebb5f7857d22ec4 100644 (file)
@@ -301,6 +301,18 @@ config BPF_JIT
          /proc/sys/net/core/bpf_jit_harden   (optional)
          /proc/sys/net/core/bpf_jit_kallsyms (optional)
 
+config BPF_STREAM_PARSER
+       bool "enable BPF STREAM_PARSER"
+       depends on BPF_SYSCALL
+       select STREAM_PARSER
+       ---help---
+        Enabling this allows a stream parser to be used with
+        BPF_MAP_TYPE_SOCKMAP.
+
+        BPF_MAP_TYPE_SOCKMAP provides a map type to use with network sockets.
+        It can be used to enforce socket policy, implement socket redirects,
+        etc.
+
 config NET_FLOW_LIMIT
        bool
        depends on RPS