From: Jakub Sitnicki <jakub@cloudflare.com>
To: John Fastabend <john.fastabend@gmail.com>
Cc: netdev@vger.kernel.org, yoshfuji@linux-ipv6.org,
dsahern@kernel.org, ast@kernel.org, daniel@iogearbox.net,
andrii@kernel.org, kafai@fb.com, songliubraving@fb.com,
yhs@fb.com, kpsingh@kernel.org, borisp@nvidia.com,
cong.wang@bytedance.com, bpf@vger.kernel.org
Subject: Re: [PATCH net] selftests/bpf: Test sockmap update when socket has ULP
Date: Thu, 23 Jun 2022 11:12:57 +0200 [thread overview]
Message-ID: <87bkuj4u8f.fsf@cloudflare.com> (raw)
In-Reply-To: <62b3fd46af42c_70b1d2086a@john.notmuch>
On Wed, Jun 22, 2022 at 10:42 PM -07, John Fastabend wrote:
> Jakub Sitnicki wrote:
>> Cover the scenario when we cannot insert a socket into the sockmap, because
>> it has it is using ULP. Failed insert should not have any effect on the ULP
>> state. This is a regression test.
>>
>> Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
>> ---
>
> Thanks, looks good. One small nit.
>
>>
>> +#include <netinet/tcp.h>
>> #include "test_progs.h"
>>
>> #define MAX_TEST_NAME 80
>> @@ -92,9 +93,78 @@ static void test_sockmap_ktls_disconnect_after_delete(int family, int map)
>> close(srv);
>> }
>>
>> +static void test_sockmap_ktls_update_fails_when_sock_has_ulp(int family, int map)
>> +{
>> + struct sockaddr_storage addr = {};
>> + socklen_t len = sizeof(addr);
>> + struct sockaddr_in6 *v6;
>> + struct sockaddr_in *v4;
>> + int err, s, zero = 0;
>> +
>> + s = socket(family, SOCK_STREAM, 0);
>> + if (!ASSERT_GE(s, 0, "socket"))
>> + return;
>> +
>> + switch (family) {
>> + case AF_INET:
>> + v4 = (struct sockaddr_in *)&addr;
>> + v4->sin_family = AF_INET;
>> + break;
>> + case AF_INET6:
>> + v6 = (struct sockaddr_in6 *)&addr;
>> + v6->sin6_family = AF_INET6;
>>k+ break;
>> + default:
>> + PRINT_FAIL("unsupported socket family %d", family);
>
> Probably want goto close here right?
Ah, thanks. Sent v2. I hope we can borrow a trick from systemd's book
and adapt __attribute__((cleanup(f))) in the future.
[...]
next prev parent reply other threads:[~2022-06-23 9:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-20 19:13 [PATCH net 1/2] Revert "net/tls: fix tls_sk_proto_close executed repeatedly" Jakub Kicinski
2022-06-20 19:13 ` [PATCH net 2/2] sock: redo the psock vs ULP protection check Jakub Kicinski
2022-06-22 14:00 ` John Fastabend
2022-06-22 17:24 ` [PATCH net] selftests/bpf: Test sockmap update when socket has ULP Jakub Sitnicki
2022-06-23 5:42 ` John Fastabend
2022-06-23 9:12 ` Jakub Sitnicki [this message]
2022-06-22 17:24 ` [PATCH net 2/2] sock: redo the psock vs ULP protection check Jakub Sitnicki
2022-06-22 22:26 ` Jakub Kicinski
2022-06-23 9:12 ` [PATCH net v2] selftests/bpf: Test sockmap update when socket has ULP Jakub Sitnicki
2022-06-24 18:30 ` patchwork-bot+netdevbpf
2022-06-22 14:00 ` [PATCH net 1/2] Revert "net/tls: fix tls_sk_proto_close executed repeatedly" John Fastabend
2022-06-23 8:40 ` patchwork-bot+netdevbpf
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=87bkuj4u8f.fsf@cloudflare.com \
--to=jakub@cloudflare.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=borisp@nvidia.com \
--cc=bpf@vger.kernel.org \
--cc=cong.wang@bytedance.com \
--cc=daniel@iogearbox.net \
--cc=dsahern@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=songliubraving@fb.com \
--cc=yhs@fb.com \
--cc=yoshfuji@linux-ipv6.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).