Re: [PATCH bpf-next v1 1/4] selftests/bpf: Migrate *_POST_BIND test cases to prog_tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> How is verbose used and is it still needed?

It probably isn't needed here, so I will remove it. sock_create.c,
whose structure I emulated for sock_post_bind.c, has something
similar, but it seems superfluous there as well.

> nit. ASSERT_OK_FD().
> Since the test binds to a specific ip/port, please run it in its own netns

Sure, will do.

-Jordan

On Mon, Oct 21, 2024 at 2:28 PM Martin KaFai Lau <martin.lau@xxxxxxxxx> wrote:
>
> On 10/17/24 3:49 PM, Jordan Rife wrote:
> > Move all BPF_CGROUP_INET6_POST_BIND and BPF_CGROUP_INET4_POST_BIND test
> > cases to a new prog_test, prog_tests/sock_post_bind.c, except for
> > LOAD_REJECT test cases.
> >
> > Signed-off-by: Jordan Rife <jrife@xxxxxxxxxx>
> > ---
> >   .../selftests/bpf/prog_tests/sock_post_bind.c | 417 ++++++++++++++++++
> >   tools/testing/selftests/bpf/test_sock.c       | 245 ----------
> >   2 files changed, 417 insertions(+), 245 deletions(-)
> >   create mode 100644 tools/testing/selftests/bpf/prog_tests/sock_post_bind.c
> >
> > diff --git a/tools/testing/selftests/bpf/prog_tests/sock_post_bind.c b/tools/testing/selftests/bpf/prog_tests/sock_post_bind.c
> > new file mode 100644
> > index 000000000000..c46537e3b9d4
> > --- /dev/null
> > +++ b/tools/testing/selftests/bpf/prog_tests/sock_post_bind.c
> > @@ -0,0 +1,417 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +#include <linux/bpf.h>
> > +#include <test_progs.h>
> > +#include "cgroup_helpers.h"
> > +
> > +static char bpf_log_buf[4096];
> > +static bool verbose;
>
> How is verbose used and is it still needed?
>
> [ ... ]
>
> > +     if (bind(sockfd, (const struct sockaddr *)&addr, len) == -1) {
> > +             /* sys_bind() may fail for different reasons, errno has to be
> > +              * checked to confirm that BPF program rejected it.
> > +              */
> > +             if (errno != EPERM)
> > +                     goto err;
> > +             if (port_retry)
> > +                     goto retry;
> > +             res = BIND_REJECT;
> > +             goto out;
> > +     }
>
> [ ... ]
>
> > +void test_sock_post_bind(void)
> > +{
> > +     int cgroup_fd, i;
> > +
> > +     cgroup_fd = test__join_cgroup("/post_bind");
> > +     if (!ASSERT_GE(cgroup_fd, 0, "join_cgroup"))
>
> nit. ASSERT_OK_FD().
>
> Since the test binds to a specific ip/port, please run it in its own netns. It
> is easy to do with netns_new and netns_free, a recent example:
>
> https://lore.kernel.org/bpf/20241020-syncookie-v2-1-2db240225fed@xxxxxxxxxxx/
>
> The same netns can be reused for different subtests of this "sock_post_bind" test.
>
> Others look good. Thanks for moving the test to test_progs.
>
> pw-bot: cr
>





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux