On 02/02/2017 07:12 AM, Jiri Pirko wrote:
> From: Jiri Pirko <[email protected]>
>
> Extend the existing setup_tc ndo call and allow to offload cls_flower
> rules. Only limited set of dissector keys and actions are supported now.
> Use previously introduced ACL infrastructure to offload cls_flower rules
> to be processed in the HW.
>
> Signed-off-by: Jiri Pirko <[email protected]>
> Reviewed-by: Ido Schimmel <[email protected]>
> ---
> + tcf_exts_to_list(exts, &actions);
> + list_for_each_entry(a, &actions, list) {
> + if (is_tcf_gact_shot(a)) {
> + err = mlxsw_sp_acl_rulei_act_drop(rulei);
> + if (err)
> + return err;
> + } else if (is_tcf_mirred_egress_redirect(a)) {
> + int ifindex = tcf_mirred_ifindex(a);
> + struct net_device *out_dev;
> +
> + out_dev = __dev_get_by_index(dev_net(dev), ifindex);
> + if (out_dev == dev)
> + out_dev = NULL;
You are not checking here that out_dev has the same netdev_ops pointer
(unlike the matchall case), is that expected?
--
Florian