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 need to be referenced using longer keys.
This series adds support for a sockhash map type which reuses almost all the sockmap code except it needed a few special add/remove handlers. To test this we duplicate all the sockmap testing except swap out the sockmap with a sockhash. --- John Fastabend (3): bpf: sockmap, refactor sockmap routines to work with hashmap bpf: sockmap, add hash map support bpf: selftest additions for SOCKHASH 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 +- tools/testing/selftests/bpf/test_sockmap_kern.c | 340 ---------------------- tools/testing/selftests/bpf/test_sockmap_kern.h | 340 ++++++++++++++++++++++ 7 files changed, 374 insertions(+), 347 deletions(-) create mode 100644 tools/testing/selftests/bpf/test_sockhash_kern.c create mode 100644 tools/testing/selftests/bpf/test_sockmap_kern.h -- Signature