All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next v6 0/4] Hash support for sock
@ 2018-05-14 17:00 John Fastabend
  2018-05-14 17:00 ` [PATCH bpf-next v6 1/4] bpf: sockmap, refactor sockmap routines to work with hashmap John Fastabend
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: John Fastabend @ 2018-05-14 17:00 UTC (permalink / raw)
  To: daniel, ast; +Cc: netdev, davem, 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
v5: Add documentation to tools UAPI bpf.h
v6: 'git add' test_sockhash_kern.c which was previously missing
    but was not causing issues because of typo in test script,
    noticed by Daniel. After this the git format-patch -M option
    no longer tracks the rename of the test_sockmap_kern files for
    some reason. I guess the diff has exceeded some threshold.

Just a note I pushed Dave's Acks through v4 into v5 due to small
size of changes.

John Fastabend (4):
  bpf: sockmap, refactor sockmap routines to work with hashmap
  bpf: sockmap, add hash map support
  bpf: selftest additions for SOCKHASH
  bpf: bpftool, support 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                         |  52 +-
 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                   |  52 +-
 tools/testing/selftests/bpf/Makefile             |   2 +-
 tools/testing/selftests/bpf/bpf_helpers.h        |   8 +
 tools/testing/selftests/bpf/test_sockhash_kern.c |   5 +
 tools/testing/selftests/bpf/test_sockmap.c       |  27 +-
 tools/testing/selftests/bpf/test_sockmap_kern.c  | 343 +-----------
 tools/testing/selftests/bpf/test_sockmap_kern.h  | 363 +++++++++++++
 17 files changed, 1159 insertions(+), 451 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/test_sockhash_kern.c
 create mode 100644 tools/testing/selftests/bpf/test_sockmap_kern.h

-- 
1.9.1

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

end of thread, other threads:[~2018-05-16 21:46 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-14 17:00 [PATCH bpf-next v6 0/4] Hash support for sock John Fastabend
2018-05-14 17:00 ` [PATCH bpf-next v6 1/4] bpf: sockmap, refactor sockmap routines to work with hashmap John Fastabend
2018-05-15 19:19   ` Daniel Borkmann
2018-05-16 21:46     ` John Fastabend
2018-05-14 17:00 ` [PATCH bpf-next v6 2/4] bpf: sockmap, add hash map support John Fastabend
2018-05-15 19:01   ` Daniel Borkmann
2018-05-15 21:09     ` Y Song
2018-05-16 20:08       ` Daniel Borkmann
2018-05-14 17:00 ` [PATCH bpf-next v6 3/4] bpf: selftest additions for SOCKHASH John Fastabend
2018-05-14 17:00 ` [PATCH bpf-next v6 4/4] bpf: bpftool, support for sockhash John Fastabend
2018-05-15 18:55 ` [PATCH bpf-next v6 0/4] Hash support for sock Daniel Borkmann

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.