From patchwork Thu Jan 25 22:00:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 866041 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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; dkim=pass (2048-bit key; unprotected) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="A07rsnpp"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zSGGR3z3Fz9s7F for ; Fri, 26 Jan 2018 09:01:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751612AbeAYWBp (ORCPT ); Thu, 25 Jan 2018 17:01:45 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36567 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751581AbeAYWBi (ORCPT ); Thu, 25 Jan 2018 17:01:38 -0500 Received: by mail-pf0-f194.google.com with SMTP id 23so6808620pfp.3 for ; Thu, 25 Jan 2018 14:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1PmzIsgYVG0FSWCH9sRz75G5tbUToaKEKgVWOFi7Lus=; b=A07rsnppC2VFhKqImGQpGvbzjzuowyT8U8VhYwRCspSGEJmRkemCck/SHog1QZNvbL KOo918lsriNRtTN1Olegq9fpiW0tevsoHekUpwqDhpoUMA+lJa3d0Lj2Qj7/PSMLz0hL ELLoSdpVw0TFb5jyNF/Z/p18Ajc0o/q0UHKamCNEcEXzA42h09ckf1GfrDyrdrmOXnUm 8cEV30wtIbJ4BzOo2nfe7PNljOFALVJipud5sXwh5CMyjeqdCc/EG4BrOrqz7rqjov7b SjC/IXeGqvaq+inGsFXDn/cGW8tWVY1qDWWQtPM5AyIlN2bnNRwEfHVWajBVHBMBaLGC IcCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1PmzIsgYVG0FSWCH9sRz75G5tbUToaKEKgVWOFi7Lus=; b=fECHvDxNElxlEO7Ip88lmbG2SVIl+fQsKRtDG4g6ryOv6HBBeYuGMs8pw04/lniwEf VudU9dehPRFqciTi2Yi+s+TNHJdDMmO6RFQT94KjOsJte+X+Yd6Khxlk3MxTqzc8oCwT FEmyKb9UanB0TkyqFcYeGAm+HwewVT2DBf6zOvboNix4+N2pAOPERgbO2B0Zc5IBBxgB fznpcsBIyYfHxch2lS6+egcZAhtz+Em+O+wQbA1Wj9oCazdHdC3fM9uofaWP6H7P5LA2 75ZRR5zgV6YmiUzVS70t/bVXjVMuxUYo4olMrb0vffncqdFHlvgbuvKbcOG1jeLiK4q5 gkkQ== X-Gm-Message-State: AKwxytertHTivDKRgTp9VRILahFuusW/lMIaRzQkvP+3C4DcG6TXtNSz OXXXI16muOFrjnOsOW9HnQ7Kgg== X-Google-Smtp-Source: AH8x225ha6gyRP1gzFLBzgo0OlVZmzJoxPBjtWMgzrdIQuRQL7qun7SkYyS0uoCnroRuK4XDMY6l/g== X-Received: by 2002:a17:902:598e:: with SMTP id p14-v6mr11932570pli.289.1516917697160; Thu, 25 Jan 2018 14:01:37 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id l88sm17977578pfb.149.2018.01.25.14.01.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 25 Jan 2018 14:01:36 -0800 (PST) From: Jakub Kicinski To: davem@davemloft.net Cc: jiri@resnulli.us, dsahern@gmail.com, netdev@vger.kernel.org, oss-drivers@netronome.com, Jakub Kicinski Subject: [PATCH net-next v2 10/11] selftests/bpf: check for spurious extacks from the driver Date: Thu, 25 Jan 2018 14:00:52 -0800 Message-Id: <20180125220053.30040-11-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180125220053.30040-1-jakub.kicinski@netronome.com> References: <20180125220053.30040-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Drivers should not report errors when offload is not forced. Check stdout and stderr for familiar messages when with no skip flags and with skip_hw. Check for add, replace, and destroy. Signed-off-by: Jakub Kicinski Reviewed-by: Simon Horman --- tools/testing/selftests/bpf/test_offload.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tools/testing/selftests/bpf/test_offload.py b/tools/testing/selftests/bpf/test_offload.py index ae3eea3ab820..49f5ceeabfa6 100755 --- a/tools/testing/selftests/bpf/test_offload.py +++ b/tools/testing/selftests/bpf/test_offload.py @@ -543,6 +543,10 @@ netns = [] # net namespaces to be removed def check_extack_nsim(output, reference, args): check_extack(output, "Error: netdevsim: " + reference, args) +def check_no_extack(res, needle): + fail((res[1] + res[2]).count(needle) or (res[1] + res[2]).count("Warning:"), + "Found '%s' in command output, leaky extack?" % (needle)) + def check_verifier_log(output, reference): lines = output.split("\n") for l in reversed(lines): @@ -550,6 +554,18 @@ netns = [] # net namespaces to be removed return fail(True, "Missing or incorrect message from netdevsim in verifier log") +def test_spurios_extack(sim, obj, skip_hw, needle): + res = sim.cls_bpf_add_filter(obj, prio=1, handle=1, skip_hw=skip_hw, + include_stderr=True) + check_no_extack(res, needle) + res = sim.cls_bpf_add_filter(obj, op="replace", prio=1, handle=1, + skip_hw=skip_hw, include_stderr=True) + check_no_extack(res, needle) + res = sim.cls_filter_op(op="delete", prio=1, handle=1, cls="bpf", + include_stderr=True) + check_no_extack(res, needle) + + # Parse command line parser = argparse.ArgumentParser() parser.add_argument("--log", help="output verbose log to given file") @@ -687,6 +703,17 @@ netns = [] (j)) sim.cls_filter_op(op="delete", prio=1, handle=1, cls="bpf") + start_test("Test spurious extack from the driver...") + test_spurios_extack(sim, obj, False, "netdevsim") + test_spurios_extack(sim, obj, True, "netdevsim") + + sim.set_ethtool_tc_offloads(False) + + test_spurios_extack(sim, obj, False, "TC offload is disabled") + test_spurios_extack(sim, obj, True, "TC offload is disabled") + + sim.set_ethtool_tc_offloads(True) + sim.tc_flush_filters() start_test("Test TC offloads work...")