From patchwork Sat Jan 20 01:44:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 863901 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="KIaVgl0l"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zNgWh4wzSz9t3Z for ; Sat, 20 Jan 2018 12:45:52 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756431AbeATBpv (ORCPT ); Fri, 19 Jan 2018 20:45:51 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:40305 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756278AbeATBpa (ORCPT ); Fri, 19 Jan 2018 20:45:30 -0500 Received: by mail-pg0-f67.google.com with SMTP id g16so2708669pgn.7 for ; Fri, 19 Jan 2018 17:45:30 -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=0MhkdBomwuFBAMblOFCVvmBasmOILKsArCPvYCoQ5qg=; b=KIaVgl0lXLmbmi8WBb9XELYokzpTheGk6VQu63Ri7wFQM1hB6WDvLGto7jVMtHKmpg Yq0HfNg0ONzN1DRhR+OVZwO6GnKC+Oj542Hc+TEhcgCnZCN/i6mOfvWlt0htFN/tmTsX gzNA/C0CMU62AIQp7lnfZeifCl79/zQK8XjyHYun7rFdx1afJOkhM8kh9URh9/NxqE04 LrbHdwYzAs6QW6ytY5wG5Xn2VpSRpc2w2uT6fAEE0oCraak2WEU/HR52anK43U5z9Fup MlJzYIYH6WvZKCnmmcwnRBnyr91b4DHBs6miyMMjatyeGbvz5u6SjH1OeZ5nfgM0w/sV 9H/g== 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=0MhkdBomwuFBAMblOFCVvmBasmOILKsArCPvYCoQ5qg=; b=PffY/IvjxVfd8+muAdbQf4DcNqDqOYrmlu43Su8XzCzIbIS1MymsmF7XyIq/aJR15W joz0T3LEhg+XWrfmd6u+S5a936LU99UAH723OeGCMwo+yYqJSp++WtxE6ajrwOEz6yaJ JJeUnJPXSMikpAh02vva6PjxFwokFUVzw8xm51zxly6QRG/2wpgB5TMoz4EKBypJNRuv W1dXBbhtszT4RnjC+sbcRF2ve/pC4gt23Y9j5NQhfuXl3ZemWoJpX9BwkWEruSD/v4BV 4uB+tFGkWJqV8tPK48cxAs93jmSwV89bjzy2CDn9T+MOBzFcexukBeOD6GcXV4cCEwb2 GwGg== X-Gm-Message-State: AKwxytchr5mtndi4KoHOVPpsRM6W7aNymWKjLiqBbL0vpOSF8ERO6C3K a9yRbA4D54MBtepi1pd1mgZQ2g== X-Google-Smtp-Source: AH8x226q3bYd4STdrr5fuLAWvqABcYnSKvIuRwGrcegny0ogLkZ0WTIPalhNZR/FDTKCArt9G1PkPA== X-Received: by 10.99.131.74 with SMTP id h71mr404414pge.373.1516412730039; Fri, 19 Jan 2018 17:45:30 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id 206sm18886461pfy.71.2018.01.19.17.45.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 19 Jan 2018 17:45:29 -0800 (PST) From: Jakub Kicinski To: davem@davemloft.net, dsahern@gmail.com Cc: jiri@resnulli.us, aring@mojatatu.com, daniel@iogearbox.net, alexei.starovoitov@gmail.com, netdev@vger.kernel.org, oss-drivers@netronome.com, Quentin Monnet Subject: [PATCH net-next v4 6/8] net: sched: create tc_can_offload_extack() wrapper Date: Fri, 19 Jan 2018 17:44:48 -0800 Message-Id: <20180120014450.29666-7-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180120014450.29666-1-jakub.kicinski@netronome.com> References: <20180120014450.29666-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Quentin Monnet Create a wrapper around tc_can_offload() that takes an additional extack pointer argument in order to output an error message if TC offload is disabled on the device. In this way, the error message is handled by the core and can be the same for all drivers. Signed-off-by: Quentin Monnet Reviewed-by: Jakub Kicinski --- include/net/pkt_cls.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index f497f622580b..2f8f16a4d88e 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h @@ -656,6 +656,17 @@ static inline bool tc_can_offload(const struct net_device *dev) return dev->features & NETIF_F_HW_TC; } +static inline bool tc_can_offload_extack(const struct net_device *dev, + struct netlink_ext_ack *extack) +{ + bool can = tc_can_offload(dev); + + if (!can) + NL_SET_ERR_MSG(extack, "TC offload is disabled on net device"); + + return can; +} + static inline bool tc_skip_hw(u32 flags) { return (flags & TCA_CLS_FLAGS_SKIP_HW) ? true : false;