Lines Matching refs:flow_attr

186 			   const struct ib_flow_attr *flow_attr,
514 flow_attr->flags & IB_FLOW_ATTR_FLAGS_EGRESS, action);
572 const struct ib_flow_attr *flow_attr,
575 union ib_flow_spec *ib_spec = (union ib_flow_spec *)(flow_attr + 1);
591 for (spec_index = 0; spec_index < flow_attr->num_of_specs; spec_index++) {
621 const struct ib_flow_attr *flow_attr)
623 return is_valid_ethertype(mdev, flow_attr, false) &&
624 is_valid_ethertype(mdev, flow_attr, true);
712 struct ib_flow_attr *flow_attr,
715 bool dont_trap = flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP;
731 switch (flow_attr->type) {
733 if (flow_is_multicast_only(flow_attr) && !dont_trap)
736 priority = ib_prio_to_core_prio(flow_attr->priority,
1039 const struct ib_flow_attr *flow_attr,
1050 const void *ib_flow = (const void *)flow_attr + sizeof(*flow_attr);
1055 bool is_egress = flow_attr->flags & IB_FLOW_ATTR_FLAGS_EGRESS;
1057 if (!is_valid_attr(dev->mdev, flow_attr))
1072 for (spec_index = 0; spec_index < flow_attr->num_of_specs; spec_index++) {
1074 ib_flow, flow_attr, &flow_act,
1088 if (!flow_is_multicast_only(flow_attr))
1091 if (dev->is_rep && flow_attr->type != IB_FLOW_ATTR_SNIFFER) {
1094 rep = dev->port[flow_attr->port - 1].rep;
1125 if (flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP)
1135 (flow_attr->type == IB_FLOW_ATTR_ALL_DEFAULT ||
1136 flow_attr->type == IB_FLOW_ATTR_MC_DEFAULT)) {
1138 spec->flow_context.flow_tag, flow_attr->type);
1167 const struct ib_flow_attr *flow_attr,
1170 return _create_flow_rule(dev, ft_prio, flow_attr, dst, 0, NULL);
1180 struct ib_flow_attr *flow_attr,
1187 struct ib_flow_attr flow_attr;
1191 .flow_attr = {
1203 .flow_attr = {
1217 &leftovers_specs[LEFTOVERS_MC].flow_attr,
1220 flow_attr->type == IB_FLOW_ATTR_ALL_DEFAULT) {
1222 &leftovers_specs[LEFTOVERS_UC].flow_attr,
1245 static const struct ib_flow_attr flow_attr = {
1248 .size = sizeof(flow_attr)
1251 handler_rx = create_flow_rule(dev, ft_rx, &flow_attr, dst);
1257 handler_tx = create_flow_rule(dev, ft_tx, &flow_attr, dst);
1276 struct ib_flow_attr *flow_attr,
1285 bool is_egress = flow_attr->flags & IB_FLOW_ATTR_FLAGS_EGRESS;
1321 if (flow_attr->priority > MLX5_IB_FLOW_LAST_PRIO) {
1326 if (flow_attr->flags &
1333 (flow_attr->type == IB_FLOW_ATTR_ALL_DEFAULT ||
1334 flow_attr->type == IB_FLOW_ATTR_MC_DEFAULT)) {
1347 ft_prio = get_flow_table(dev, flow_attr,
1353 if (flow_attr->type == IB_FLOW_ATTR_SNIFFER) {
1354 ft_prio_tx = get_flow_table(dev, flow_attr, MLX5_IB_FT_TX);
1372 switch (flow_attr->type) {
1377 handler = _create_flow_rule(dev, ft_prio, flow_attr, dst,
1382 handler = create_leftovers_rule(dev, ft_prio, flow_attr, dst);