mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-26 22:24:09 +08:00
selftest/bpf: Add new tests in sockmap for unix stream to tcp.
Add two new test cases in sockmap tests, where unix stream is redirected to tcp and vice versa. 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: John Fastabend <john.fastabend@gmail.com> Acked-by: Jakub Sitnicki <jakub@cloudflare.com> Link: https://lore.kernel.org/bpf/20210816190327.2739291-6-jiang.wang@bytedance.com
This commit is contained in:
parent
75e0e27db6
commit
31c50aeed5
@ -1884,7 +1884,7 @@ close:
|
|||||||
xclose(p0);
|
xclose(p0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void udp_unix_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
static void inet_unix_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
||||||
struct bpf_map *inner_map, int family)
|
struct bpf_map *inner_map, int family)
|
||||||
{
|
{
|
||||||
int verdict = bpf_program__fd(skel->progs.prog_skb_verdict);
|
int verdict = bpf_program__fd(skel->progs.prog_skb_verdict);
|
||||||
@ -1899,9 +1899,13 @@ static void udp_unix_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
|||||||
skel->bss->test_ingress = false;
|
skel->bss->test_ingress = false;
|
||||||
inet_unix_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
inet_unix_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
||||||
REDIR_EGRESS);
|
REDIR_EGRESS);
|
||||||
|
inet_unix_redir_to_connected(family, SOCK_STREAM, sock_map, verdict_map,
|
||||||
|
REDIR_EGRESS);
|
||||||
skel->bss->test_ingress = true;
|
skel->bss->test_ingress = true;
|
||||||
inet_unix_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
inet_unix_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
||||||
REDIR_INGRESS);
|
REDIR_INGRESS);
|
||||||
|
inet_unix_redir_to_connected(family, SOCK_STREAM, sock_map, verdict_map,
|
||||||
|
REDIR_INGRESS);
|
||||||
|
|
||||||
xbpf_prog_detach2(verdict, sock_map, BPF_SK_SKB_VERDICT);
|
xbpf_prog_detach2(verdict, sock_map, BPF_SK_SKB_VERDICT);
|
||||||
}
|
}
|
||||||
@ -1961,7 +1965,7 @@ close_cli0:
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void unix_udp_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
static void unix_inet_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
||||||
struct bpf_map *inner_map, int family)
|
struct bpf_map *inner_map, int family)
|
||||||
{
|
{
|
||||||
int verdict = bpf_program__fd(skel->progs.prog_skb_verdict);
|
int verdict = bpf_program__fd(skel->progs.prog_skb_verdict);
|
||||||
@ -1976,9 +1980,13 @@ static void unix_udp_skb_redir_to_connected(struct test_sockmap_listen *skel,
|
|||||||
skel->bss->test_ingress = false;
|
skel->bss->test_ingress = false;
|
||||||
unix_inet_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
unix_inet_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
||||||
REDIR_EGRESS);
|
REDIR_EGRESS);
|
||||||
|
unix_inet_redir_to_connected(family, SOCK_STREAM, sock_map, verdict_map,
|
||||||
|
REDIR_EGRESS);
|
||||||
skel->bss->test_ingress = true;
|
skel->bss->test_ingress = true;
|
||||||
unix_inet_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
unix_inet_redir_to_connected(family, SOCK_DGRAM, sock_map, verdict_map,
|
||||||
REDIR_INGRESS);
|
REDIR_INGRESS);
|
||||||
|
unix_inet_redir_to_connected(family, SOCK_STREAM, sock_map, verdict_map,
|
||||||
|
REDIR_INGRESS);
|
||||||
|
|
||||||
xbpf_prog_detach2(verdict, sock_map, BPF_SK_SKB_VERDICT);
|
xbpf_prog_detach2(verdict, sock_map, BPF_SK_SKB_VERDICT);
|
||||||
}
|
}
|
||||||
@ -1994,8 +2002,8 @@ static void test_udp_unix_redir(struct test_sockmap_listen *skel, struct bpf_map
|
|||||||
snprintf(s, sizeof(s), "%s %s %s", map_name, family_name, __func__);
|
snprintf(s, sizeof(s), "%s %s %s", map_name, family_name, __func__);
|
||||||
if (!test__start_subtest(s))
|
if (!test__start_subtest(s))
|
||||||
return;
|
return;
|
||||||
udp_unix_skb_redir_to_connected(skel, map, family);
|
inet_unix_skb_redir_to_connected(skel, map, family);
|
||||||
unix_udp_skb_redir_to_connected(skel, map, family);
|
unix_inet_skb_redir_to_connected(skel, map, family);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void run_tests(struct test_sockmap_listen *skel, struct bpf_map *map,
|
static void run_tests(struct test_sockmap_listen *skel, struct bpf_map *map,
|
||||||
|
Loading…
Reference in New Issue
Block a user