Lines Matching defs:handler
697 struct mlx5_ib_flow_handler *handler = container_of(flow_id,
701 struct mlx5_ib_dev *dev = handler->dev;
705 list_for_each_entry_safe(iter, tmp, &handler->list, list) {
712 mlx5_del_flow_rules(handler->rule);
713 put_flow_table(dev, handler->prio, true);
714 mlx5_ib_counters_clear_description(handler->ibcounters);
716 if (handler->flow_matcher)
717 atomic_dec(&handler->flow_matcher->usecnt);
718 kfree(handler);
910 struct mlx5_ib_flow_handler *handler;
929 handler = kzalloc(sizeof(*handler), GFP_KERNEL);
930 if (!handler || !spec) {
935 INIT_LIST_HEAD(&handler->list);
984 handler->ibcounters = flow_act.counters;
1013 handler->rule = mlx5_add_flow_rules(ft, spec,
1017 if (IS_ERR(handler->rule)) {
1018 err = PTR_ERR(handler->rule);
1023 handler->prio = ft_prio;
1024 handler->dev = dev;
1028 if (err && handler) {
1029 mlx5_ib_counters_clear_description(handler->ibcounters);
1030 kfree(handler);
1033 return err ? ERR_PTR(err) : handler;
1055 struct mlx5_ib_flow_handler *handler = NULL;
1087 handler = create_flow_rule(dev, ft_prio,
1090 if (!IS_ERR(handler) &&
1096 mlx5_del_flow_rules(handler->rule);
1098 kfree(handler);
1099 handler = handler_ucast;
1101 list_add(&handler_ucast->list, &handler->list);
1105 return handler;
1152 struct mlx5_ib_flow_handler *handler = NULL;
1249 handler = _create_flow_rule(dev, ft_prio, flow_attr, dst,
1254 handler = create_leftovers_rule(dev, ft_prio, flow_attr, dst);
1257 handler = create_sniffer_rule(dev, ft_prio, ft_prio_tx, dst);
1264 if (IS_ERR(handler)) {
1265 err = PTR_ERR(handler);
1266 handler = NULL;
1274 return &handler->ibflow;
1395 struct mlx5_ib_flow_handler *handler;
1401 handler = kzalloc(sizeof(*handler), GFP_KERNEL);
1402 if (!handler || !spec) {
1407 INIT_LIST_HEAD(&handler->list);
1415 handler->rule = mlx5_add_flow_rules(ft, spec,
1418 if (IS_ERR(handler->rule)) {
1419 err = PTR_ERR(handler->rule);
1424 handler->prio = ft_prio;
1425 handler->dev = dev;
1430 kfree(handler);
1432 return err ? ERR_PTR(err) : handler;
1482 struct mlx5_ib_flow_handler *handler;
1531 handler = _create_raw_flow_rule(dev, ft_prio, dst_num ? dst : NULL,
1535 if (IS_ERR(handler)) {
1536 err = PTR_ERR(handler);
1542 handler->flow_matcher = fs_matcher;
1546 return handler;