From patchwork Wed Jan 24 20:54:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 865469 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="u2Nx7+0Z"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zRcrr1f71z9s7s for ; Thu, 25 Jan 2018 07:55:56 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932884AbeAXUzV (ORCPT ); Wed, 24 Jan 2018 15:55:21 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:36632 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932864AbeAXUzS (ORCPT ); Wed, 24 Jan 2018 15:55:18 -0500 Received: by mail-pg0-f67.google.com with SMTP id k68so3561899pga.3 for ; Wed, 24 Jan 2018 12:55:18 -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=1COmkCPqacBILWI6vfMfy7W4xD4J2AXUuE80gGk9p58=; b=u2Nx7+0Z2JR9z5+M0GiYSHz2TUOQGUiiNcIbOtmSuL2WAs3ORTM2JUGGsyBe9vxC+N eO+S9xTScF66WEihhgVBfqKt3kcV+RmL0MfpGCa7b37Rmzf0uSAwcejfJ3SCFb48J2Nt UCMvOj589vqb6LnVs62D45bPb3zK/KwbJs0wfT2XjDnJzYYOqShSHlSw/FKHVbGsnajX ghcqwY61ElYjKBnoVkH/Bdy6W2XNdD8BltFB9wN58ydiX+IBKAmOXIdAKUnSXxkdsxBR 18B5tAXuGEj6uOCP5gSka1e9c6SqD8IjxZpe05KlPSeqWZBvv2oGt4/mzOYS7e9c1WkC kAqQ== 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=1COmkCPqacBILWI6vfMfy7W4xD4J2AXUuE80gGk9p58=; b=t0OswexAJnMEufchcJXYOdb920q7m+8Acw4mToLWAmjR0I8Af5FNqRjrx075D1K+JJ ojMfV2T8S+gNjM7ps+T79ov5JE3F5TlmTpXNpNApBqn4ijyrF0EHNOkEmWHnacIgLWGZ olU2thVg60J7nmoXOVnXYmgX9HjN6fpkaHAeFj+icq8Sxrn6rrvruJyPmYv/D4DhKZ0O LbMrjuCxICTr/UgvJtXQOUVLpGx6HHSqhRdnhENqbJRTc6vjoiTUwzrSPsLTa+tMYHJ9 IvrcCL6TkL23UUbb9/CdSJHFCZpnFC6fxzdrlkrxMbOTMfAOMIapVJ5K3gO7p16rx2kf 7TOA== X-Gm-Message-State: AKwxytdx+xkd6w2grRuG85Gn8FVaG0BpL7CG+9dCoMMieNZa4RLpDRCW BduZxbASwnaZOzn/w+uhIhc+7A== X-Google-Smtp-Source: AH8x224elM7S+XRJDBYybYLz3Yu75y07Mym3FAeN3TEMYTcbWKTTmZ6cr8gXhT2O+usv+WjAh9v6Uw== X-Received: by 10.98.62.150 with SMTP id y22mr14031601pfj.92.1516827317869; Wed, 24 Jan 2018 12:55:17 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id g13sm15305612pfe.50.2018.01.24.12.55.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 Jan 2018 12:55:17 -0800 (PST) From: Jakub Kicinski To: davem@davemloft.net, jiri@resnulli.us, dsahern@gmail.com, daniel@iogearbox.net, john.fastabend@gmail.com Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, aring@mojatatu.com, Jakub Kicinski Subject: [PATCH net-next v2 05/12] cls_bpf: propagate extack to offload delete callback Date: Wed, 24 Jan 2018 12:54:17 -0800 Message-Id: <20180124205424.6976-6-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180124205424.6976-1-jakub.kicinski@netronome.com> References: <20180124205424.6976-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Propagate extack on removal of offloaded filter. Signed-off-by: Jakub Kicinski Reviewed-by: Simon Horman --- net/sched/cls_bpf.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c index 323b01f76a4c..8e5326bc6440 100644 --- a/net/sched/cls_bpf.c +++ b/net/sched/cls_bpf.c @@ -212,11 +212,12 @@ static int cls_bpf_offload(struct tcf_proto *tp, struct cls_bpf_prog *prog, } static void cls_bpf_stop_offload(struct tcf_proto *tp, - struct cls_bpf_prog *prog) + struct cls_bpf_prog *prog, + struct netlink_ext_ack *extack) { int err; - err = cls_bpf_offload_cmd(tp, NULL, prog, NULL); + err = cls_bpf_offload_cmd(tp, NULL, prog, extack); if (err) pr_err("Stopping hardware offload failed: %d\n", err); } @@ -289,12 +290,13 @@ static void cls_bpf_delete_prog_rcu(struct rcu_head *rcu) tcf_queue_work(&prog->work); } -static void __cls_bpf_delete(struct tcf_proto *tp, struct cls_bpf_prog *prog) +static void __cls_bpf_delete(struct tcf_proto *tp, struct cls_bpf_prog *prog, + struct netlink_ext_ack *extack) { struct cls_bpf_head *head = rtnl_dereference(tp->root); idr_remove_ext(&head->handle_idr, prog->handle); - cls_bpf_stop_offload(tp, prog); + cls_bpf_stop_offload(tp, prog, extack); list_del_rcu(&prog->link); tcf_unbind_filter(tp, &prog->res); if (tcf_exts_get_net(&prog->exts)) @@ -308,7 +310,7 @@ static int cls_bpf_delete(struct tcf_proto *tp, void *arg, bool *last, { struct cls_bpf_head *head = rtnl_dereference(tp->root); - __cls_bpf_delete(tp, arg); + __cls_bpf_delete(tp, arg, extack); *last = list_empty(&head->plist); return 0; } @@ -320,7 +322,7 @@ static void cls_bpf_destroy(struct tcf_proto *tp, struct cls_bpf_prog *prog, *tmp; list_for_each_entry_safe(prog, tmp, &head->plist, link) - __cls_bpf_delete(tp, prog); + __cls_bpf_delete(tp, prog, extack); idr_destroy(&head->handle_idr); kfree_rcu(head, rcu);