All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next v4 0/4] Hash support for sock
@ 2018-05-03 18:28 John Fastabend
  2018-05-03 18:28 ` [PATCH bpf-next v4 1/4] bpf: sockmap, refactor sockmap routines to work with hashmap John Fastabend
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: John Fastabend @ 2018-05-03 18:28 UTC (permalink / raw)
  To: borkmann, ast; +Cc: netdev, John Fastabend

In the original sockmap implementation we got away with using an
array similar to devmap. However, unlike devmap where an ifindex
has a nice 1:1 function into the map we have found some use cases
with sockets that need to be referenced using longer keys.

This series adds support for a sockhash map reusing as much of
the sockmap code as possible. I made the decision to add sockhash
specific helpers vs trying to generalize the existing helpers
because (a) they have sockmap in the name and (b) the keys are
different types. I prefer to be explicit here rather than play
type games or do something else tricky.

To test this we duplicate all the sockmap testing except swap out
the sockmap with a sockhash.

v2: fix file stats and add v2 tag
v3: move tool updates into test patch, move bpftool updates into
    its own patch, and fixup the test patch stats to catch the
    renamed file and provide only diffs +/- on that.
v4: Add documentation to UAPI bpf.h

John Fastabend (4):
  bpf: sockmap, refactor sockmap routines to work with hashmap
  bpf: sockmap, add hash map support
  bpf: bpftool, support for sockhash
  bpf: selftest additions for SOCKHASH

 include/linux/bpf.h                                |   8 +
 include/linux/bpf_types.h                          |   1 +
 include/linux/filter.h                             |   3 +-
 include/net/tcp.h                                  |   3 +-
 include/uapi/linux/bpf.h                           |   6 +-
 kernel/bpf/core.c                                  |   1 +
 kernel/bpf/sockmap.c                               | 638 ++++++++++++++++++---
 kernel/bpf/verifier.c                              |  14 +-
 net/core/filter.c                                  |  89 ++-
 tools/bpf/bpftool/map.c                            |   1 +
 tools/include/uapi/linux/bpf.h                     |   6 +-
 tools/testing/selftests/bpf/Makefile               |   3 +-
 tools/testing/selftests/bpf/test_sockhash_kern.c   |   4 +
 tools/testing/selftests/bpf/test_sockmap.c         |  27 +-
 .../{test_sockmap_kern.c => test_sockmap_kern.h}   |   6 +-
 15 files changed, 695 insertions(+), 115 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/test_sockhash_kern.c
 rename tools/testing/selftests/bpf/{test_sockmap_kern.c => test_sockmap_kern.h} (98%)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-05-04 10:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-03 18:28 [PATCH bpf-next v4 0/4] Hash support for sock John Fastabend
2018-05-03 18:28 ` [PATCH bpf-next v4 1/4] bpf: sockmap, refactor sockmap routines to work with hashmap John Fastabend
2018-05-03 18:28 ` [PATCH bpf-next v4 2/4] bpf: sockmap, add hash map support John Fastabend
2018-05-03 18:28 ` [PATCH bpf-next v4 3/4] bpf: selftest additions for SOCKHASH John Fastabend
2018-05-04 10:11   ` Quentin Monnet
2018-05-03 18:28 ` [PATCH bpf-next v4 4/4] bpf: bpftool, support for sockhash John Fastabend
2018-05-03 18:31 ` [PATCH bpf-next v4 0/4] Hash support for sock David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.