[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170322170035.923581-1-kafai@fb.com>
Date: Wed, 22 Mar 2017 10:00:31 -0700
From: Martin KaFai Lau <kafai@...com>
To: netdev <netdev@...r.kernel.org>
CC: Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
FB Kernel Team <Kernel-team@...com>
Subject: [PATCH net-next 0/4] bpf: Add map-in-map support
This patchset adds map-in-map support (map->map).
One use case is the (vips -> webservers) in the L4 load balancer so
that different vips can be backed by different set of webservers.
Please refer to the individual commit log for details.
Martin KaFai Lau (4):
bpf: Fix and simplifications on inline map lookup
bpf: Add array of maps support
bpf: Add hash of maps support
bpf: Add tests for map-in-map
include/linux/bpf.h | 3 +
include/uapi/linux/bpf.h | 3 +
kernel/bpf/Makefile | 2 +-
kernel/bpf/arraymap.c | 74 ++++++++++--
kernel/bpf/hashtab.c | 121 +++++++++++++++++++
kernel/bpf/map_in_map.c | 97 ++++++++++++++++
kernel/bpf/map_in_map.h | 23 ++++
kernel/bpf/syscall.c | 13 ++-
kernel/bpf/verifier.c | 57 +++++++--
samples/bpf/Makefile | 4 +
samples/bpf/bpf_helpers.h | 1 +
samples/bpf/bpf_load.c | 22 +++-
samples/bpf/test_map_in_map_kern.c | 173 ++++++++++++++++++++++++++++
samples/bpf/test_map_in_map_user.c | 116 +++++++++++++++++++
tools/include/uapi/linux/bpf.h | 3 +
tools/lib/bpf/bpf.c | 17 +++
tools/lib/bpf/bpf.h | 2 +
tools/testing/selftests/bpf/test_verifier.c | 131 ++++++++++++++++++---
18 files changed, 823 insertions(+), 39 deletions(-)
create mode 100644 kernel/bpf/map_in_map.c
create mode 100644 kernel/bpf/map_in_map.h
create mode 100644 samples/bpf/test_map_in_map_kern.c
create mode 100644 samples/bpf/test_map_in_map_user.c
--
2.9.3
Powered by blists - more mailing lists