-
- Downloads
Merge branch 'use-tc_cls_can_offload_and_chain0-throughout-the-drivers'
Jakub Kicinski says:
====================
use tc_cls_can_offload_and_chain0() throughout the drivers
This set makes all drivers use a new tc_cls_can_offload_and_chain0()
helper which will set extack in case TC hw offload flag is disabled.
I chose to keep the new helper which also looks at the chain but
renamed it more appropriately. The rationale being that most drivers
don't accept chains other than 0 and since we have to pass extack
to the helper we can as well pass the entire struct tc_cls_common_offload
and perform the most common checks.
This code makes the assumption that type_data in the callback can
be interpreted as struct tc_cls_common_offload, i.e. the real offload
structure has common part as the first member. This allows us to
make the check once for all classifier types if driver supports
more than one.
v1:
- drop the type validation in nfp and netdevsim.
v2:
- reorder checks in patch 1;
- split other changes from patch 1;
- add the i40e patch in;
- add one more test case - for chain 0 extack.
====================
Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/ethernet/broadcom/bnxt/bnxt.c 2 additions, 1 deletiondrivers/net/ethernet/broadcom/bnxt/bnxt.c
- drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c 0 additions, 3 deletionsdrivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c 2 additions, 1 deletiondrivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c 1 addition, 7 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
- drivers/net/ethernet/intel/i40e/i40e_main.c 3 additions, 5 deletionsdrivers/net/ethernet/intel/i40e/i40e_main.c
- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 1 addition, 4 deletionsdrivers/net/ethernet/intel/ixgbe/ixgbe_main.c
- drivers/net/ethernet/mellanox/mlx5/core/en_main.c 1 addition, 4 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_main.c
- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 1 addition, 4 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_rep.c
- drivers/net/ethernet/mellanox/mlxsw/spectrum.c 2 additions, 4 deletionsdrivers/net/ethernet/mellanox/mlxsw/spectrum.c
- drivers/net/ethernet/netronome/nfp/bpf/main.c 1 addition, 3 deletionsdrivers/net/ethernet/netronome/nfp/bpf/main.c
- drivers/net/ethernet/netronome/nfp/flower/offload.c 3 additions, 4 deletionsdrivers/net/ethernet/netronome/nfp/flower/offload.c
- drivers/net/netdevsim/bpf.c 1 addition, 4 deletionsdrivers/net/netdevsim/bpf.c
- include/net/pkt_cls.h 14 additions, 0 deletionsinclude/net/pkt_cls.h
- tools/testing/selftests/bpf/test_offload.py 40 additions, 3 deletionstools/testing/selftests/bpf/test_offload.py
Loading
Please register or sign in to comment