From: Liu Jian <liujian56@huawei.com>
To: <john.fastabend@gmail.com>, <jakub@cloudflare.com>,
<ast@kernel.org>, <daniel@iogearbox.net>, <andrii@kernel.org>,
<martin.lau@linux.dev>, <song@kernel.org>,
<yonghong.song@linux.dev>, <kpsingh@kernel.org>, <sdf@google.com>,
<haoluo@google.com>, <jolsa@kernel.org>, <davem@davemloft.net>,
<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
<dsahern@kernel.org>
Cc: <netdev@vger.kernel.org>, <bpf@vger.kernel.org>, <liujian56@huawei.com>
Subject: [PATCH bpf-next v6 3/7] selftests/bpf: Add txmsg redir permanently test for sockmap
Date: Sat, 14 Oct 2023 20:17:02 +0800 [thread overview]
Message-ID: <20231014121706.967988-4-liujian56@huawei.com> (raw)
In-Reply-To: <20231014121706.967988-1-liujian56@huawei.com>
Add one test for txmsg redir permanently test for sockmap.
Signed-off-by: Liu Jian <liujian56@huawei.com>
---
.../selftests/bpf/progs/test_sockmap_kern.h | 3 ++-
tools/testing/selftests/bpf/test_sockmap.c | 21 +++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/progs/test_sockmap_kern.h b/tools/testing/selftests/bpf/progs/test_sockmap_kern.h
index 99d2ea9fb658..b0a2ddd55b83 100644
--- a/tools/testing/selftests/bpf/progs/test_sockmap_kern.h
+++ b/tools/testing/selftests/bpf/progs/test_sockmap_kern.h
@@ -298,8 +298,9 @@ int bpf_prog6(struct sk_msg_md *msg)
f = bpf_map_lookup_elem(&sock_redir_flags, &zero);
if (f && *f) {
- key = 2;
flags = *f;
+ if (flags & BPF_F_INGRESS)
+ key = 2;
}
#ifdef SOCKMAP
return bpf_msg_redirect_map(msg, &sock_map_redir, key, flags);
diff --git a/tools/testing/selftests/bpf/test_sockmap.c b/tools/testing/selftests/bpf/test_sockmap.c
index bf2cef7ae3ae..c602ac8780a8 100644
--- a/tools/testing/selftests/bpf/test_sockmap.c
+++ b/tools/testing/selftests/bpf/test_sockmap.c
@@ -1166,6 +1166,19 @@ static int run_options(struct sockmap_options *options, int cg_fd, int test)
}
+ if (txmsg_permanent) {
+ int txmsg_flag = BPF_F_PERMANENT;
+
+ i = 0;
+ err = bpf_map_update_elem(map_fd[6], &i, &txmsg_flag, BPF_ANY);
+ if (err) {
+ fprintf(stderr,
+ "ERROR: bpf_map_update_elem (txmsg_permanent): %d (%s)\n",
+ err, strerror(errno));
+ goto out;
+ }
+ }
+
if (txmsg_ingress) {
int txmsg_flag = BPF_F_INGRESS;
@@ -1490,6 +1503,13 @@ static void test_txmsg_redir(int cgrp, struct sockmap_options *opt)
test_send(opt, cgrp);
}
+static void test_txmsg_redir_permanent(int cgrp, struct sockmap_options *opt)
+{
+ txmsg_redir = 1;
+ txmsg_permanent = 1;
+ test_send(opt, cgrp);
+}
+
static void test_txmsg_redir_wait_sndmem(int cgrp, struct sockmap_options *opt)
{
txmsg_redir = 1;
@@ -1872,6 +1892,7 @@ static int populate_progs(char *bpf_file)
struct _test test[] = {
{"txmsg test passthrough", test_txmsg_pass},
{"txmsg test redirect", test_txmsg_redir},
+ {"txmsg test redirect permanent", test_txmsg_redir_permanent},
{"txmsg test redirect wait send mem", test_txmsg_redir_wait_sndmem},
{"txmsg test drop", test_txmsg_drop},
{"txmsg test ingress redirect", test_txmsg_ingress_redir},
--
2.34.1
next prev parent reply other threads:[~2023-10-14 12:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-14 12:16 [PATCH bpf-next v6 0/7] add BPF_F_PERMANENT flag for sockmap skmsg redirect Liu Jian
2023-10-14 12:17 ` [PATCH bpf-next v6 1/7] bpf, sockmap: add BPF_F_PERMANENT flag for " Liu Jian
2023-10-14 12:17 ` [PATCH bpf-next v6 2/7] selftests/bpf: Add txmsg permanently test for sockmap Liu Jian
2023-10-14 12:17 ` Liu Jian [this message]
2023-10-14 12:17 ` [PATCH bpf-next v6 4/7] selftests/bpf: add skmsg verdict tests Liu Jian
2023-10-14 12:17 ` [PATCH bpf-next v6 5/7] selftests/bpf: add two skmsg verdict tests for BPF_F_PERMANENT flag Liu Jian
2023-10-14 12:17 ` [PATCH bpf-next v6 6/7] selftests/bpf: add tests for verdict skmsg to itself Liu Jian
2023-10-14 12:17 ` [PATCH bpf-next v6 7/7] selftests/bpf: add tests for verdict skmsg to closed socket Liu Jian
2023-10-24 21:55 ` [PATCH bpf-next v6 0/7] add BPF_F_PERMANENT flag for sockmap skmsg redirect John Fastabend
2023-10-26 13:56 ` Daniel Borkmann
2023-10-28 9:59 ` liujian (CE)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231014121706.967988-4-liujian56@huawei.com \
--to=liujian56@huawei.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=haoluo@google.com \
--cc=jakub@cloudflare.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=martin.lau@linux.dev \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@google.com \
--cc=song@kernel.org \
--cc=yonghong.song@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.