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