From patchwork Thu Feb 9 14:18:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Or Gerlitz X-Patchwork-Id: 726142 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vK0YN6VFMz9s3v for ; Fri, 10 Feb 2017 01:18:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752808AbdBIOSb (ORCPT ); Thu, 9 Feb 2017 09:18:31 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:52547 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752778AbdBIOS1 (ORCPT ); Thu, 9 Feb 2017 09:18:27 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from ogerlitz@mellanox.com) with ESMTPS (AES256-SHA encrypted); 9 Feb 2017 16:18:14 +0200 Received: from r-vnc04.mtr.labs.mlnx (r-vnc04.mtr.labs.mlnx [10.208.0.116]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v19EIEgQ001037; Thu, 9 Feb 2017 16:18:14 +0200 From: Or Gerlitz To: "David S. Miller" Cc: Daniel Borkmann , Jakub Kicinski , John Fastabend , Amir Vadai , netdev@vger.kernel.org, Paul Blakey , Roi Dayan Subject: [PATCH net-next 1/4] net/sched: cls_flower: Use skip flags to reflect HW offload status Date: Thu, 9 Feb 2017 16:18:05 +0200 Message-Id: <1486649888-2786-2-git-send-email-ogerlitz@mellanox.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1486649888-2786-1-git-send-email-ogerlitz@mellanox.com> References: <1486649888-2786-1-git-send-email-ogerlitz@mellanox.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Paul Blakey Currently there is no way of querying whether a filter is offloaded to HW or not when using both policy (no flag). Reuse the skip flags to show the insertion status by setting the skip_hw flag in case the filter wasn't offloaded. Signed-off-by: Paul Blakey Signed-off-by: Roi Dayan Reviewed-by: Or Gerlitz Acked-by: Jiri Pirko --- net/sched/cls_flower.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c index 0826c8e..90e4490 100644 --- a/net/sched/cls_flower.c +++ b/net/sched/cls_flower.c @@ -252,7 +252,10 @@ static int fl_hw_replace_filter(struct tcf_proto *tp, if (tcf_exts_get_dev(dev, &f->exts, &f->hw_dev) || (f->hw_dev && !tc_can_offload(f->hw_dev, tp))) { f->hw_dev = dev; - return tc_skip_sw(f->flags) ? -EINVAL : 0; + if (tc_skip_sw(f->flags)) + return -EINVAL; + f->flags |= TCA_CLS_FLAGS_SKIP_HW; + return 0; } dev = f->hw_dev; tc->egress_dev = true; @@ -276,6 +279,8 @@ static int fl_hw_replace_filter(struct tcf_proto *tp, if (tc_skip_sw(f->flags)) return err; + if (err) + f->flags |= TCA_CLS_FLAGS_SKIP_HW; return 0; }