From patchwork Tue Jan 16 00:30:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 861151 X-Patchwork-Delegate: bpf@iogearbox.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="e5YZqniq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zLB4V5q4Nz9sCZ for ; Tue, 16 Jan 2018 11:32:10 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750861AbeAPAbn (ORCPT ); Mon, 15 Jan 2018 19:31:43 -0500 Received: from mail-pl0-f66.google.com ([209.85.160.66]:34133 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750826AbeAPAbk (ORCPT ); Mon, 15 Jan 2018 19:31:40 -0500 Received: by mail-pl0-f66.google.com with SMTP id d21so4828873pll.1 for ; Mon, 15 Jan 2018 16:31:39 -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=c+9e7hDr2GwVafaUIVVO4kkNbxdML5jUemZ2OYPLteo=; b=e5YZqniq7Xx420P1IjGoAlywEr8icugX6YWEwTpcWC+P5vhpM+X2bRq+G4zKTXi73X Z4PkJr/tlnd9gr3F2pCXNIWCJ33IbwHyoJp4YslhnwYthQgzNNKuYQmaGankgBFirE63 P8PeXk5l4GMRliUFA4wWrUbnba5DTNZ0y7iBEXp4gftHCW6CzMSMk/gpK0fQ5UirTYc9 9qToYyLGIGwlliyo4SL8YzXHIWBuGh1pVTppmgshNAgk5eG1g77drPc/zdsTBqdR3rQ7 zr1KJnN8Eh25JNMu3dnAcZ+6siZxWDOwitDb/9Yk4c8l0IxlVpKvmCtkVlSC3t8WnUXq h4MQ== 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=c+9e7hDr2GwVafaUIVVO4kkNbxdML5jUemZ2OYPLteo=; b=B1TyJqjIwbAbDrJztJ9tjr8RyQw5LdZkkJlbmCvb7LbJABSvgu/WcgcuecIuHRnUlu UhW25GGIA1426mzsOQPWhHRe3tsNeWtMG2/1ToPCCA4mLmvqgTqOmhbxp31UQ6Dzy1EA qAX6cfhiy2XVgHNse78V4lKFkjJgD0X/4tAujxJsCOdqbA5bU+74Y2mGmrYGDVNe2NF8 AjM/EKoZ9lATrbSRudiwYbvNi23UyOTu/FC6gQ1F2ZlcZvXDlEOvgO9uOBRnUwuLBe8q bVhYoQaWNuSh+rxCDo5noaEfmgm/HKn4+vHAbqPhdDfC4mn2ar0BQuxA2mTd66csQA5R 0crQ== X-Gm-Message-State: AKGB3mLCEfVLVUVU1nYbRFVu/RmPXNKbSAhDswqeFp5XsQelVDlYiRC5 mx92Ax1BlH4TPhIjQznF5iC9Sw== X-Google-Smtp-Source: ACJfBotkqCHHJakgPsA2p44r9/fsSR+D4W6BuxsdwwcjgTKmbrFoPgstTw4i6lkGxe263ybTx+szpQ== X-Received: by 10.84.246.21 with SMTP id k21mr37308579pll.174.1516062699553; Mon, 15 Jan 2018 16:31:39 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id o64sm752839pga.1.2018.01.15.16.31.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 15 Jan 2018 16:31:39 -0800 (PST) From: Jakub Kicinski To: davem@davemloft.net, daniel@iogearbox.net, alexei.starovoitov@gmail.com, netdev@vger.kernel.org Cc: dsahern@gmail.com, oss-drivers@netronome.com, jiri@resnulli.us, john.fastabend@gmail.com, jhs@mojatatu.com, gerlitz.or@gmail.com, aring@mojatatu.com, xiyou.wangcong@gmail.com, Quentin Monnet Subject: [PATCH bpf-next 04/11] net: sched: cls_matchall: propagate extack support for filter offload Date: Mon, 15 Jan 2018 16:30:20 -0800 Message-Id: <20180116003027.9405-5-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180116003027.9405-1-jakub.kicinski@netronome.com> References: <20180116003027.9405-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 Propagate the extack pointer from the `->change()` classifier operation to the function used for filter replacement in cls_matchall, and feed it to tc_cls_common_offload_init(). This makes it possible to use netlink extack messages in the future at replacement time for this filter, although it is not used at this point. Signed-off-by: Quentin Monnet Reviewed-by: Jakub Kicinski --- net/sched/cls_matchall.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c index 24bec37e9747..fe6b673db5c6 100644 --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c @@ -85,14 +85,15 @@ static void mall_destroy_hw_filter(struct tcf_proto *tp, static int mall_replace_hw_filter(struct tcf_proto *tp, struct cls_mall_head *head, - unsigned long cookie) + unsigned long cookie, + struct netlink_ext_ack *extack) { struct tc_cls_matchall_offload cls_mall = {}; struct tcf_block *block = tp->chain->block; bool skip_sw = tc_skip_sw(head->flags); int err; - tc_cls_common_offload_init(&cls_mall.common, tp, NULL); + tc_cls_common_offload_init(&cls_mall.common, tp, extack); cls_mall.command = TC_CLSMATCHALL_REPLACE; cls_mall.exts = &head->exts; cls_mall.cookie = cookie; @@ -202,7 +203,8 @@ static int mall_change(struct net *net, struct sk_buff *in_skb, goto err_set_parms; if (!tc_skip_hw(new->flags)) { - err = mall_replace_hw_filter(tp, new, (unsigned long) new); + err = mall_replace_hw_filter(tp, new, (unsigned long)new, + extack); if (err) goto err_replace_hw_filter; }