On 1/23/2018 12:08 AM, Jakub Kicinski wrote:
> Since TC block changes drivers are required to check if
> the TC hw offload flag is set on the interface themselves.
>
> Fixes: 2f4b411a3d67 ("i40e: Enable cloud filters via tc-flower")
> Fixes: 44ae12a768b7 ("net: sched: move the can_offload check from binding
> phase to rule insertion phase")
> Signed-off-by: Jakub Kicinski <[email protected]>
> Reviewed-by: Simon Horman <[email protected]>
Acked-by: Amritha Nambiar <[email protected]>
> ---
> drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 42dcaefc4c19..af792112a2d3 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -7505,6 +7505,8 @@ static int i40e_setup_tc_cls_flower(struct
> i40e_netdev_priv *np,
> {
> struct i40e_vsi *vsi = np->vsi;
>
> + if (!tc_can_offload(vsi->netdev))
> + return -EOPNOTSUPP;
> if (cls_flower->common.chain_index)
> return -EOPNOTSUPP;
>
>