OSDN Git Service

af_unix: Add unix_stream_proto for sockmap
authorJiang Wang <jiang.wang@bytedance.com>
Mon, 16 Aug 2021 19:03:21 +0000 (19:03 +0000)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 17 Aug 2021 01:43:39 +0000 (18:43 -0700)
commit94531cfcbe79c3598acf96806627b2137ca32eb9
tree5936ad0cab83523153696d063f181c4dcce75b6d
parent77462de14a43f4d98dbd8de0f5743a4e02450b1d
af_unix: Add unix_stream_proto for sockmap

Previously, sockmap for AF_UNIX protocol only supports
dgram type. This patch add unix stream type support, which
is similar to unix_dgram_proto. To support sockmap, dgram
and stream cannot share the same unix_proto anymore, because
they have different implementations, such as unhash for stream
type (which will remove closed or disconnected sockets from the map),
so rename unix_proto to unix_dgram_proto and add a new
unix_stream_proto.

Also implement stream related sockmap functions.
And add dgram key words to those dgram specific functions.

Signed-off-by: Jiang Wang <jiang.wang@bytedance.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Cong Wang <cong.wang@bytedance.com>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20210816190327.2739291-3-jiang.wang@bytedance.com
include/net/af_unix.h
net/core/sock_map.c
net/unix/af_unix.c
net/unix/unix_bpf.c