Lines Matching defs:flow_attr
2032 static bool is_valid_attr(const struct ib_flow_attr *flow_attr)
2034 union ib_flow_spec *ib_spec = (union ib_flow_spec *)(flow_attr + 1);
2040 for (spec_index = 0; spec_index < flow_attr->num_of_specs; spec_index++) {
2106 struct ib_flow_attr *flow_attr,
2109 bool dont_trap = flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP;
2119 if (flow_attr->type == IB_FLOW_ATTR_NORMAL) {
2120 if (flow_is_multicast_only(flow_attr) &&
2124 priority = ib_prio_to_core_prio(flow_attr->priority,
2131 } else if (flow_attr->type == IB_FLOW_ATTR_ALL_DEFAULT ||
2132 flow_attr->type == IB_FLOW_ATTR_MC_DEFAULT) {
2139 } else if (flow_attr->type == IB_FLOW_ATTR_SNIFFER) {
2178 const struct ib_flow_attr *flow_attr,
2184 const void *ib_flow = (const void *)flow_attr + sizeof(*flow_attr);
2191 if (!is_valid_attr(flow_attr))
2206 for (spec_index = 0; spec_index < flow_attr->num_of_specs; spec_index++) {
2238 struct ib_flow_attr *flow_attr,
2244 handler = create_flow_rule(dev, ft_prio, flow_attr, NULL);
2247 flow_attr, dst);
2267 struct ib_flow_attr *flow_attr,
2274 struct ib_flow_attr flow_attr;
2278 .flow_attr = {
2290 .flow_attr = {
2304 &leftovers_specs[LEFTOVERS_MC].flow_attr,
2307 flow_attr->type == IB_FLOW_ATTR_ALL_DEFAULT) {
2309 &leftovers_specs[LEFTOVERS_UC].flow_attr,
2332 static const struct ib_flow_attr flow_attr = {
2335 .size = sizeof(flow_attr)
2338 handler_rx = create_flow_rule(dev, ft_rx, &flow_attr, dst);
2344 handler_tx = create_flow_rule(dev, ft_tx, &flow_attr, dst);
2363 struct ib_flow_attr *flow_attr,
2407 if (flow_attr->priority > MLX5_IB_FLOW_LAST_PRIO) {
2412 if (flow_attr->flags & ~IB_FLOW_ATTR_FLAGS_DONT_TRAP) {
2425 ft_prio = get_flow_table(dev, flow_attr, MLX5_IB_FT_RX);
2430 if (flow_attr->type == IB_FLOW_ATTR_SNIFFER) {
2431 ft_prio_tx = get_flow_table(dev, flow_attr, MLX5_IB_FT_TX);
2445 switch (flow_attr->type) {
2451 if (flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP) {
2452 handler = create_dont_trap_rule(dev, ft_prio, flow_attr, dst);
2454 handler = create_flow_rule(dev, ft_prio, flow_attr, dst);
2459 handler = create_leftovers_rule(dev, ft_prio, flow_attr, dst);