From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [RFC net-next 0/8] use tc_can_offload_extack() throughout the drivers Date: Tue, 23 Jan 2018 13:33:32 -0800 Message-ID: <20180123213340.19235-1-jakub.kicinski@netronome.com> Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, dsahern@gmail.com, Jakub Kicinski To: jiri@resnulli.us Return-path: Received: from mail-pg0-f66.google.com ([74.125.83.66]:35827 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752455AbeAWVdw (ORCPT ); Tue, 23 Jan 2018 16:33:52 -0500 Received: by mail-pg0-f66.google.com with SMTP id o13so1188749pgs.2 for ; Tue, 23 Jan 2018 13:33:51 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: Hi! I have a number of patches for drivers to use tc_can_offload_extack() as requested, but I wanted to ask for early comments and one specific question - should we assume that type_data in block_cbs is always going to contain struct tc_cls_common_offload as first argument? In that case we could just make it that struct instead of void? It wasn't clear to me this assumption was safe therefore I pushed the checks after enum tc_setup_type is checked against known values. And there is only one driver now (cxgb4) which supports two classifiers in the same code base, so checking tc_can_offload before type_data is cast doesn't buy much LOC. Jiri, WDYT? (i40e patch is queued up for later to avoid conflicts.) Jakub Kicinski (8): pkt_cls: make tc_can_offload_extack() check chain index mlx5: use tc_can_offload_cls() mlxsw: use tc_can_offload_cls() cls_bpf: drivers: don't try to use extack before callback type is validated drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 7 ++----- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +---- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +---- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 5 +---- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 5 +---- drivers/net/ethernet/netronome/nfp/bpf/main.c | 9 ++------- drivers/net/ethernet/netronome/nfp/flower/offload.c | 11 +++-------- drivers/net/netdevsim/bpf.c | 10 ++-------- include/net/pkt_cls.h | 20 +++++++++++++------- 12 files changed, 29 insertions(+), 54 deletions(-) -- 2.15.1