From patchwork Thu Feb 15 15:55:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Aring X-Patchwork-Id: 873964 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=mojatatu-com.20150623.gappssmtp.com header.i=@mojatatu-com.20150623.gappssmtp.com header.b="jQ0NT+Zb"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zj1956PPMz9t1t for ; Fri, 16 Feb 2018 02:56:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1425204AbeBOP4X (ORCPT ); Thu, 15 Feb 2018 10:56:23 -0500 Received: from mail-it0-f65.google.com ([209.85.214.65]:55746 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1425361AbeBOP4M (ORCPT ); Thu, 15 Feb 2018 10:56:12 -0500 Received: by mail-it0-f65.google.com with SMTP id b66so1046650itd.5 for ; Thu, 15 Feb 2018 07:56:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=K4mgewPoXtI2uyd0il1wBdo/ph0LJCBgiERYpEHV3Ww=; b=jQ0NT+ZbaA0kHymETzNdbsVGGLLvhdt5p7vtlpuHahnoLSM9rsiH0+9hVOAdy7RHi9 aut2GrDLhiDLpi+PbQsWU/3JIDuuGyMdCwY3fDOVKOthGPNkuecrXmcRHurOEVoTJAj3 vrbnXj7rmMrTC3/JjPEz47GcL7XKAG7+MD4o+G4+eFyx6iq1eUROzCF89a73KntiUvky aOlhQtCcAvhymYTc4rG5QHlbs+vlJXVk02kyibNcZFuY8KbTNSaXGPcjF9DdlsxMV8Ij dp+BjN/+vWu7Es+/IluXO6dKXqzPIk0vErDEYYVOKzbTdsOpZ8pyV+TrGwhjMQiRsL6Y m9CA== 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=K4mgewPoXtI2uyd0il1wBdo/ph0LJCBgiERYpEHV3Ww=; b=qt3G8FXrzUdCKYkJz312nw9UU+v4db33dsQG03C3Sl2M56KvF1Xk8N/uX3yNIYj+/8 WQuDDk5jfiQEL/EaFH2g9em5r2eErQL2xHb6KV91orlGSVOgtJKuonk3FBqQAckc518b MDOcrKjLr7Brim8frX66rSWIFhVU++g22OZJ+z3vK4zrO3Y2HIIaPy7lSB57c+nnTj2u 3js3uXDCj4lAXB6UfTfQuXUJBn7s5+9uVilIYh5NF8sU+d81coLTF7hMtzojzFp3a//f ObjSqlKyEpR1K8sgxViLaGfyjmfrOTYGhEvyb0ZlbhJqvyfHRlLDziA+tcWjgbb07Ox1 UFJA== X-Gm-Message-State: APf1xPD0BQaCodrzU9zY92iERWBRT/jD/fsMLR+EJcVAPyFL9N2QXDSv OpIivpXU4vu+GK/ZrpiYvvp1QA== X-Google-Smtp-Source: AH8x2250YlMzqrow01CaV8BEoZDnj9ICAHB9COTxy39/LUKmqyk1Mg6CrxOk2d/2jt0/rEjMK6Tsdw== X-Received: by 10.36.95.78 with SMTP id r75mr4066306itb.48.1518710172134; Thu, 15 Feb 2018 07:56:12 -0800 (PST) Received: from x220t.lan ([64.26.149.125]) by smtp.gmail.com with ESMTPSA id h2sm627986ioa.77.2018.02.15.07.56.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 07:56:11 -0800 (PST) From: Alexander Aring To: davem@davemloft.net Cc: jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, netdev@vger.kernel.org, kernel@mojatatu.com, dcaratti@redhat.com, Alexander Aring , David Ahern Subject: [PATCHv3 net-next 8/8] net: sched: act: mirred: add extack support Date: Thu, 15 Feb 2018 10:55:00 -0500 Message-Id: <20180215155500.23578-9-aring@mojatatu.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180215155500.23578-1-aring@mojatatu.com> References: <20180215155500.23578-1-aring@mojatatu.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch adds extack support for TC mirred action. Cc: David Ahern Signed-off-by: Alexander Aring --- net/sched/act_mirred.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index 05c2ebe92eca..fd34015331ab 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -80,13 +80,17 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla, bool exists = false; int ret; - if (!nla) + if (!nla) { + NL_SET_ERR_MSG_MOD(extack, "Mirred requires attributes to be passed"); return -EINVAL; - ret = nla_parse_nested(tb, TCA_MIRRED_MAX, nla, mirred_policy, NULL); + } + ret = nla_parse_nested(tb, TCA_MIRRED_MAX, nla, mirred_policy, extack); if (ret < 0) return ret; - if (!tb[TCA_MIRRED_PARMS]) + if (!tb[TCA_MIRRED_PARMS]) { + NL_SET_ERR_MSG_MOD(extack, "Missing required mirred parameters"); return -EINVAL; + } parm = nla_data(tb[TCA_MIRRED_PARMS]); exists = tcf_idr_check(tn, parm->index, a, bind); @@ -102,6 +106,7 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla, default: if (exists) tcf_idr_release(*a, bind); + NL_SET_ERR_MSG_MOD(extack, "Unknown mirred option"); return -EINVAL; } if (parm->ifindex) { @@ -117,8 +122,10 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla, } if (!exists) { - if (!dev) + if (!dev) { + NL_SET_ERR_MSG_MOD(extack, "Specified device does not exist"); return -EINVAL; + } ret = tcf_idr_create(tn, parm->index, est, a, &act_mirred_ops, bind, true); if (ret)