From patchwork Wed Feb 14 22:13:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Aring X-Patchwork-Id: 873557 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="TJbGc+qZ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zhYc52bNxz9t1t for ; Thu, 15 Feb 2018 09:14:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031857AbeBNWOm (ORCPT ); Wed, 14 Feb 2018 17:14:42 -0500 Received: from mail-io0-f193.google.com ([209.85.223.193]:35237 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031834AbeBNWOZ (ORCPT ); Wed, 14 Feb 2018 17:14:25 -0500 Received: by mail-io0-f193.google.com with SMTP id m11so26796617iob.2 for ; Wed, 14 Feb 2018 14:14:25 -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=TJbGc+qZpIDswcqsNfHTjMJjQwtN+dzXv3S2iCIg+IcRxFUgGvzC6xVUZsvQBdXVWg sYN7QMslG+AANBk+7fDekQvevGGlUl2+8EiRwGc8gPUOuMTNcXmYxq1WK78sqKJL0N29 gdOyve3zPoDdBXsHv9/FQLzAd5P2+LygBknz0VWwMBlt6EnIHVmpPQlCDNaN/XIhUBOP +G3gioBsvzs8Z5sRkNtxvbYV88f8XZs682XXCEa7I2pfs1tGD68iGcqpBw3FqDi1dlIN GpVvRNERGGrDovTTYIZDnOWNHAyejdaIeV/lj69unHVyAJoHbx2SlyP+N30zYJSB0+DB QZCw== 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=OAKrs/6cvweJdMkO4wWLVb8wT7SnhjqmSmhWD2pwgrW5BD/nm60kHAsFBdn4wjZdNc bXEfSqfwlwIvA0D+2dr8k/lhfJTp25uzwTaOp6dEIoZtl+EdVy25ncQTSUW+DjZf6FNy 0D9eX4EIyAsQiZbPPDu2JOT+oMJ8Rnj0HfAD1vApW07/cZPRQ9OcHuhstPhws3pNzBmQ 6Z2ajrI9Rmk2uUXX++KuMYd9layCB+vNlaf/ZMMqV0q4B93WgjWrKkzTHVjpMGZWCqFg wFo9JiXoYHL9BVB6joN3gs25nPL7CiIgCXn6d1U46Zp2adRbTtY/fFgzHtcEERs+3QgI PR3g== X-Gm-Message-State: APf1xPB7Kzk7GYnFX2KFF9aB1axxOg3lY9osQw5VfkhNgoOl7c21wzig 8Zy82skIMBCTKSyKx9Op00gaMQ== X-Google-Smtp-Source: AH8x227b+sf9PSg4f4XHyURU7w6am1pQXGroXD9x9m3MYmQ3fqm1tpmyHqokye8HJWQA92AbIGr6UA== X-Received: by 10.107.56.135 with SMTP id f129mr1005338ioa.208.1518646464740; Wed, 14 Feb 2018 14:14:24 -0800 (PST) Received: from x220t.lan ([64.26.149.125]) by smtp.gmail.com with ESMTPSA id s24sm1379385ioa.34.2018.02.14.14.14.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Feb 2018 14:14:24 -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, Alexander Aring , David Ahern Subject: [PATCHv2 net-next 8/8] net: sched: act: mirred: add extack support Date: Wed, 14 Feb 2018 17:13:42 -0500 Message-Id: <20180214221342.24754-9-aring@mojatatu.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180214221342.24754-1-aring@mojatatu.com> References: <20180214221342.24754-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)