Lines Matching refs:handler

639 	struct mlx5_ib_flow_handler *handler = container_of(flow_id,
643 struct mlx5_ib_dev *dev = handler->dev;
647 list_for_each_entry_safe(iter, tmp, &handler->list, list) {
654 mlx5_del_flow_rules(handler->rule);
655 put_flow_table(dev, handler->prio, true);
656 mlx5_ib_counters_clear_description(handler->ibcounters);
658 if (handler->flow_matcher)
659 atomic_dec(&handler->flow_matcher->usecnt);
660 kfree(handler);
1045 struct mlx5_ib_flow_handler *handler;
1064 handler = kzalloc(sizeof(*handler), GFP_KERNEL);
1065 if (!handler || !spec) {
1070 INIT_LIST_HEAD(&handler->list);
1113 handler->ibcounters = flow_act.counters;
1142 handler->rule = mlx5_add_flow_rules(ft, spec,
1146 if (IS_ERR(handler->rule)) {
1147 err = PTR_ERR(handler->rule);
1152 handler->prio = ft_prio;
1153 handler->dev = dev;
1157 if (err && handler) {
1158 mlx5_ib_counters_clear_description(handler->ibcounters);
1159 kfree(handler);
1162 return err ? ERR_PTR(err) : handler;
1184 struct mlx5_ib_flow_handler *handler = NULL;
1216 handler = create_flow_rule(dev, ft_prio,
1219 if (!IS_ERR(handler) &&
1225 mlx5_del_flow_rules(handler->rule);
1227 kfree(handler);
1228 handler = handler_ucast;
1230 list_add(&handler_ucast->list, &handler->list);
1234 return handler;
1281 struct mlx5_ib_flow_handler *handler = NULL;
1377 handler = _create_flow_rule(dev, ft_prio, flow_attr, dst,
1382 handler = create_leftovers_rule(dev, ft_prio, flow_attr, dst);
1385 handler = create_sniffer_rule(dev, ft_prio, ft_prio_tx, dst);
1392 if (IS_ERR(handler)) {
1393 err = PTR_ERR(handler);
1394 handler = NULL;
1402 return &handler->ibflow;
1523 struct mlx5_ib_flow_handler *handler;
1529 handler = kzalloc(sizeof(*handler), GFP_KERNEL);
1530 if (!handler || !spec) {
1535 INIT_LIST_HEAD(&handler->list);
1543 handler->rule = mlx5_add_flow_rules(ft, spec,
1546 if (IS_ERR(handler->rule)) {
1547 err = PTR_ERR(handler->rule);
1552 handler->prio = ft_prio;
1553 handler->dev = dev;
1558 kfree(handler);
1560 return err ? ERR_PTR(err) : handler;
1610 struct mlx5_ib_flow_handler *handler;
1660 handler = _create_raw_flow_rule(dev, ft_prio, dst_num ? dst : NULL,
1664 if (IS_ERR(handler)) {
1665 err = PTR_ERR(handler);
1671 handler->flow_matcher = fs_matcher;
1675 return handler;