From patchwork Mon Dec 17 18:25:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanislav Fomichev X-Patchwork-Id: 1014665 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="d/QWvgxk"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43JV3P5rgQz9s3q for ; Tue, 18 Dec 2018 05:26:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388938AbeLQS0Y (ORCPT ); Mon, 17 Dec 2018 13:26:24 -0500 Received: from mail-ot1-f74.google.com ([209.85.210.74]:52203 "EHLO mail-ot1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727840AbeLQS0Y (ORCPT ); Mon, 17 Dec 2018 13:26:24 -0500 Received: by mail-ot1-f74.google.com with SMTP id c33so7845700otb.18 for ; Mon, 17 Dec 2018 10:26:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=iDRZlyAh/YbPVSrqZYY7qn6TduIEnLXj+fH24EGCGOw=; b=d/QWvgxkBnCp+ANMp5SJ/Df6GwOdzqP155HaTDt9SaWFe2w1hrVpoDTu58ZzwluRRX /p+k+r6YigMLykHawRqDQm59fDhp8DvNHlzncCHGEOChJUqPDY8ubFLp/P6ULK+lbtvH KtU4vxYkshxvQSPcbH19VV0L1LK2szwrfJgOZNz1pTaPvl662xOcKqK9zoqUmw7/O2Xv guawQbp2RgFZAHmkWhNrMPvU786kJkmhyMjjDNT99cETFK5z7eZthMrPn+y7/ZDcz7+n zgdl0q8HmKucmBQFzsiyLr4VzN8Ay+os+4Ql03mQan4vGzpspuL1MVazXhRo+ZKGLS4I qjDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=iDRZlyAh/YbPVSrqZYY7qn6TduIEnLXj+fH24EGCGOw=; b=BoIN7eH2rYqND9AOC8jhvnBr9rrlZ9KjkIGQ9dwiop2iszU71Rg8lX1q+cyXNU8UrQ W5nGXgtt5z5WHzgzLnOWXJT4U5WiIE5L/GwmLbZPdMmXwFJ3oH4ya9SHE95kL/KYXXM5 Jh4NknGPkbHpBDvNecffWTItGfAzso8pIXLRmcF80V4ZJ+aGhLl0gjEFOuZX3vRLT9OW vZYyXLtI1u04ts/fuYdndRf7QAZzCT1C38tkZmDSjNG25h2n5kMj6lwXolBSHqLlM+MI losv8rQ7Vgnhx9Mid1WpBZXiZpIzrsTEZv9xNAy6A9HpzjAmCLJD6Xr6TFDQn7AgyNQC L5CQ== X-Gm-Message-State: AA+aEWZg0q63iNqcx8wHlfOGdZXHzufksyWOb0b4KfKo1R1qNuWBfU4i Noert9FVegeIoi3sKvw4Tub9Vy+a3efPBf7oOMfJ5iiaDgK+U6cMT+f5Hmvs94sOvhc9kLi/Ibx p9WlA+cNIMoE062+5WQvD5sS8vqDBMsMABiDT2CtWSp8sSHNqJGVSvg== X-Google-Smtp-Source: AFSGD/WaG/rRyQ5IaRyKz/RaknuBDbMHbFMTgy+76Rh0BImVUcjuuyTw2iUkxwhrc2CycLHumrVWudo= X-Received: by 2002:aca:aa53:: with SMTP id t80mr12939481oie.22.1545071183026; Mon, 17 Dec 2018 10:26:23 -0800 (PST) Date: Mon, 17 Dec 2018 10:25:50 -0800 In-Reply-To: <20181217182554.52170-1-sdf@google.com> Message-Id: <20181217182554.52170-3-sdf@google.com> Mime-Version: 1.0 References: <20181217182554.52170-1-sdf@google.com> X-Mailer: git-send-email 2.20.0.405.gbc1bbc6f85-goog Subject: [PATCH bpf-next v2 2/6] selftests/bpf: skip sockmap in test_maps if kernel doesn't have support From: Stanislav Fomichev To: netdev@vger.kernel.org, ast@kernel.org Cc: davem@davemloft.net, daniel@iogearbox.net, ecree@solarflare.com, quentin.monnet@netronome.com, Stanislav Fomichev Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use recently introduced bpf_map_type_supported() to skip test_sockmap() if map creation fails. The skipped test is indicated in the output. Example: test_sockmap SKIP (unsupported map type BPF_MAP_TYPE_SOCKMAP) Fork 1024 tasks to 'test_update_delete' ... test_sockmap SKIP (unsupported map type BPF_MAP_TYPE_SOCKMAP) Fork 1024 tasks to 'test_update_delete' ... test_maps: OK, 2 SKIPPED Signed-off-by: Stanislav Fomichev --- tools/testing/selftests/bpf/Makefile | 1 + tools/testing/selftests/bpf/test_maps.c | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index 73aa6d8f4a2f..52a0654145ad 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -81,6 +81,7 @@ $(OUTPUT)/test_progs: trace_helpers.c $(OUTPUT)/get_cgroup_id_user: cgroup_helpers.c $(OUTPUT)/test_cgroup_storage: cgroup_helpers.c $(OUTPUT)/test_netcnt: cgroup_helpers.c +$(OUTPUT)/test_maps: probe_helpers.c .PHONY: force diff --git a/tools/testing/selftests/bpf/test_maps.c b/tools/testing/selftests/bpf/test_maps.c index 9c79ee017df3..bdf9bdaea73e 100644 --- a/tools/testing/selftests/bpf/test_maps.c +++ b/tools/testing/selftests/bpf/test_maps.c @@ -27,11 +27,14 @@ #include "bpf_util.h" #include "bpf_rlimit.h" +#include "probe_helpers.h" #ifndef ENOTSUPP #define ENOTSUPP 524 #endif +static int skips; + static int map_flags; #define CHECK(condition, tag, format...) ({ \ @@ -725,6 +728,15 @@ static void test_sockmap(int tasks, void *data) sizeof(key), sizeof(value), 6, 0); if (fd < 0) { + if (!bpf_map_type_supported(BPF_MAP_TYPE_SOCKMAP)) { + printf("%s SKIP (unsupported map type BPF_MAP_TYPE_SOCKMAP)\n", + __func__); + skips++; + for (i = 0; i < 6; i++) + close(sfd[i]); + return; + } + printf("Failed to create sockmap %i\n", fd); goto out_sockmap; } @@ -1702,6 +1714,6 @@ int main(void) map_flags = BPF_F_NO_PREALLOC; run_all_tests(); - printf("test_maps: OK\n"); + printf("test_maps: OK, %d SKIPPED\n", skips); return 0; }