Tue, Jan 23, 2018 at 10:33:32PM CET, jakub.kicin...@netronome.com wrote: >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?
Yes, I believe so. I wanted to avoid lots of casts, that's why I'm passing void. I agree it is probably a bit confusing. > >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. mlxsw also supports multiple classifiers. Others will come. > >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 >