[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <055556e9-8028-a399-a099-f141a63cfbb5@nvidia.com>
Date: Thu, 21 Oct 2021 20:31:06 +0300
From: Maxim Mikityanskiy <maximmi@...dia.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
CC: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
David Ahern <dsahern@...nel.org>,
"Jesper Dangaard Brouer" <hawk@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
"Nick Desaulniers" <ndesaulniers@...gle.com>,
Brendan Jackman <jackmanb@...gle.com>,
Florent Revest <revest@...omium.org>,
Joe Stringer <joe@...ium.io>,
"Lorenz Bauer" <lmb@...udflare.com>,
Tariq Toukan <tariqt@...dia.com>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>, <clang-built-linux@...glegroups.com>
Subject: Re: [PATCH bpf-next 10/10] bpf: Add sample for raw syncookie helpers
On 2021-10-21 04:06, Alexei Starovoitov wrote:
> On Tue, Oct 19, 2021 at 05:46:55PM +0300, Maxim Mikityanskiy wrote:
>> This commit adds a sample for the new BPF helpers: bpf_ct_lookup_tcp,
>> bpf_tcp_raw_gen_syncookie and bpf_tcp_raw_check_syncookie.
>>
>> samples/bpf/syncookie_kern.c is a BPF program that generates SYN cookies
>> on allowed TCP ports and sends SYNACKs to clients, accelerating synproxy
>> iptables module.
>>
>> samples/bpf/syncookie_user.c is a userspace control application that
>> allows to configure the following options in runtime: list of allowed
>> ports, MSS, window scale, TTL.
>>
>> samples/bpf/syncookie_test.sh is a script that demonstrates the setup of
>> synproxy with XDP acceleration.
>>
>> Signed-off-by: Maxim Mikityanskiy <maximmi@...dia.com>
>> Reviewed-by: Tariq Toukan <tariqt@...dia.com>
>> ---
>> samples/bpf/.gitignore | 1 +
>> samples/bpf/Makefile | 3 +
>> samples/bpf/syncookie_kern.c | 591 ++++++++++++++++++++++++++++++++++
>> samples/bpf/syncookie_test.sh | 55 ++++
>> samples/bpf/syncookie_user.c | 388 ++++++++++++++++++++++
>> 5 files changed, 1038 insertions(+)
>> create mode 100644 samples/bpf/syncookie_kern.c
>> create mode 100755 samples/bpf/syncookie_test.sh
>> create mode 100644 samples/bpf/syncookie_user.c
>
> Tests should be in selftests/bpf.
> Samples are for samples only.
It's not a test, please don't be confused by the name of
syncookie_test.sh - it's more like a demo script.
syncookie_user.c and syncookie_kern.c are 100% a sample, they show how
to use the new helpers and are themselves a more or less
feature-complete solution to protect from SYN flood. syncookie_test.sh
should probably be named syncookie_demo.sh, it demonstrates how to bring
pieces together.
These files aren't aimed to be a unit test for the new helpers, their
purpose is to show the usage.
>
>> +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
>
> Isn't it deprecated?
> LICENSES/deprecated/Linux-OpenIB
Honestly, I had no idea, I just used our template. I'll ask whoever is
responsible for the license.
If it's deprecated, what should be used instead?
>
>> + // Don't combine additions to avoid 32-bit overflow.
>
> c++ style comment?
> did you run checkpatch?
Sure I did, and it doesn't complain on such comments. If such comments
are a problem, please tell me, but I also saw them in other BPF samples.
Thanks for reviewing!
Powered by blists - more mailing lists