Received: by 2002:a05:6358:e9c4:b0:b2:91dc:71ab with SMTP id hc4csp6409391rwb; Tue, 9 Aug 2022 15:01:33 -0700 (PDT) X-Google-Smtp-Source: AA6agR74CRkT/I87q0vX1hR7YpMS587r7H6meHXj0NQV8m66K5dDcBwUiTuIU0LlT2TTj/9XW0eR X-Received: by 2002:a65:4cc7:0:b0:41a:4df2:4839 with SMTP id n7-20020a654cc7000000b0041a4df24839mr21305315pgt.37.1660082493437; Tue, 09 Aug 2022 15:01:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660082493; cv=none; d=google.com; s=arc-20160816; b=JMIydOTCzqFHOYutPP/ikaNBDuSc+9QmgMPECQC9s2884d/lykf+Oyeo+QGjcSiJC5 ym8xSm7qtgwcILXcQcmQ4UPDEBOBwxPqpecx4WwaUWy4hhUu8jgjPJ7OEHlPK+u8pYu0 WfU1zJZyMA86VjeT1xvxXpNbN/Fqbs6JGHTJHn2UQWUemi3boZ9PyUhiKzbPQLCJfy9s mISGsBiiwKlJic81pJnSUhwJ65zzvZozcfBZ67J5WN6DASzczVF0JQgdMn3WGKAfrBl8 TvKOO5/7M4RwOUIq0IvndBVUviu5rf6io9/r1S2Z7BJFE2mruK1pRy4+2YDU/cptDCR6 CwvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=CupNXNi2wRi6y3QhJ/RgP6QBv790s4GGXBfxBq7EFKU=; b=BsbhG3w25LudwQD0uUBHlU2pH0LXqk6y6OQjs4ylMJ1HyObfSYRDPHwhihahYnvMJU Y0n5Ox4V8OEEGlhPT+vokFj6EF+aWRcu40YuE91cveE3EeDERMFja0awqLLXTxFBzQ6T 3za5RjOcAKKAwEgraFwpbrTvQvIRaVXyaDxFomiNvq0oIVYCiY74jeJ6RjaPtD6amwVj hwPlN7Ean3tUka/p1cZ/KEkuNZAThydlsNq1EEOqzit4DbtguIfvSqPyqiPmIwmMqB4+ pMSCQU2u5vGJa9wrKp9bHhDgz74A+IvQCbW9dbqeNjwB0KpEfwrFq+uSA69lkuVXcr/b 963Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r6-20020a655086000000b0041c5b90f8cbsi3406994pgp.850.2022.08.09.15.01.18; Tue, 09 Aug 2022 15:01:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229624AbiHIVO4 (ORCPT + 99 others); Tue, 9 Aug 2022 17:14:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229613AbiHIVO2 (ORCPT ); Tue, 9 Aug 2022 17:14:28 -0400 Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B7E661D67; Tue, 9 Aug 2022 14:14:23 -0700 (PDT) Received: from sslproxy06.your-server.de ([78.46.172.3]) by www62.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1oLWYP-000Ffb-PU; Tue, 09 Aug 2022 23:14:21 +0200 Received: from [85.1.206.226] (helo=linux.home) by sslproxy06.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oLWYP-000A9a-Hx; Tue, 09 Aug 2022 23:14:21 +0200 Subject: Re: [PATCH bpf-next v2 2/2] selftests/bpf: Add connmark read test To: Daniel Xu , bpf@vger.kernel.org, ast@kernel.org, andrii@kernel.org, memxor@gmail.com Cc: linux-kernel@vger.kernel.org References: <6436220efacfa99f343ffc451e3d5dc8b7f31f05.1660062725.git.dxu@dxuuu.xyz> From: Daniel Borkmann Message-ID: <37649bee-5eb3-93a2-ac57-56eb375ef8cd@iogearbox.net> Date: Tue, 9 Aug 2022 23:14:21 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <6436220efacfa99f343ffc451e3d5dc8b7f31f05.1660062725.git.dxu@dxuuu.xyz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.103.6/26622/Tue Aug 9 09:53:52 2022) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Daniel, On 8/9/22 6:34 PM, Daniel Xu wrote: > Test that the prog can read from the connection mark. This test is nice > because it ensures progs can interact with netfilter subsystem > correctly. > > Signed-off-by: Daniel Xu > --- > tools/testing/selftests/bpf/prog_tests/bpf_nf.c | 3 ++- > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 3 +++ > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_nf.c b/tools/testing/selftests/bpf/prog_tests/bpf_nf.c > index 317978cac029..7232f6dcd252 100644 > --- a/tools/testing/selftests/bpf/prog_tests/bpf_nf.c > +++ b/tools/testing/selftests/bpf/prog_tests/bpf_nf.c > @@ -44,7 +44,7 @@ static int connect_to_server(int srv_fd) > > static void test_bpf_nf_ct(int mode) > { > - const char *iptables = "iptables -t raw %s PREROUTING -j CT"; > + const char *iptables = "iptables -t raw %s PREROUTING -j CONNMARK --set-mark 42/0"; > int srv_fd = -1, client_fd = -1, srv_client_fd = -1; > struct sockaddr_in peer_addr = {}; > struct test_bpf_nf *skel; > @@ -114,6 +114,7 @@ static void test_bpf_nf_ct(int mode) > /* expected status is IPS_SEEN_REPLY */ > ASSERT_EQ(skel->bss->test_status, 2, "Test for ct status update "); > ASSERT_EQ(skel->data->test_exist_lookup, 0, "Test existing connection lookup"); > + ASSERT_EQ(skel->bss->test_exist_lookup_mark, 43, "Test existing connection lookup ctmark"); > end: > if (srv_client_fd != -1) > close(srv_client_fd); > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > index 84e0fd479794..2722441850cc 100644 > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > @@ -28,6 +28,7 @@ __be16 sport = 0; > __be32 daddr = 0; > __be16 dport = 0; > int test_exist_lookup = -ENOENT; > +u32 test_exist_lookup_mark = 0; > > struct nf_conn; > > @@ -174,6 +175,8 @@ nf_ct_test(struct nf_conn *(*lookup_fn)(void *, struct bpf_sock_tuple *, u32, > sizeof(opts_def)); > if (ct) { > test_exist_lookup = 0; > + if (ct->mark == 42) > + test_exist_lookup_mark = 43; Looks like CI failed here: [...] progs/test_bpf_nf.c:178:11: error: no member named 'mark' in 'struct nf_conn' if (ct->mark == 42) ~~ ^ 1 error generated. make: *** [Makefile:521: /tmp/runner/work/bpf/bpf/tools/testing/selftests/bpf/test_bpf_nf.o] Error 1 make: *** Waiting for unfinished jobs.... Error: Process completed with exit code 2. Likely due to missing CONFIG_NF_CONNTRACK_MARK for the CI instance. > bpf_ct_release(ct); > } else { > test_exist_lookup = opts_def.error; >