Lines Matching refs:flow

58 sfc_flow_get_ops_by_spec(struct rte_flow *flow)  in sfc_flow_get_ops_by_spec()  argument
60 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_get_ops_by_spec()
1145 struct rte_flow *flow, in sfc_flow_parse_attr() argument
1148 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_attr()
1324 struct rte_flow *flow) in sfc_flow_parse_queue() argument
1326 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_queue()
1347 struct rte_flow *flow) in sfc_flow_parse_rss() argument
1357 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_rss()
1499 struct rte_flow *flow) in sfc_flow_filter_insert() argument
1503 struct sfc_flow_spec_filter *spec_filter = &flow->spec.filter; in sfc_flow_filter_insert()
1573 rc = sfc_flow_spec_insert(sa, &flow->spec); in sfc_flow_filter_insert()
1604 sfc_flow_spec_remove(sa, &flow->spec); in sfc_flow_filter_insert()
1618 struct rte_flow *flow) in sfc_flow_filter_remove() argument
1620 struct sfc_flow_spec_filter *spec_filter = &flow->spec.filter; in sfc_flow_filter_remove()
1623 rc = sfc_flow_spec_remove(sa, &flow->spec); in sfc_flow_filter_remove()
1644 struct rte_flow *flow) in sfc_flow_parse_mark() argument
1646 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_mark()
1662 struct rte_flow *flow, in sfc_flow_parse_actions() argument
1666 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_actions()
1696 rc = sfc_flow_parse_queue(sa, actions->conf, flow); in sfc_flow_parse_actions()
1711 rc = sfc_flow_parse_rss(sa, actions->conf, flow); in sfc_flow_parse_actions()
1760 rc = sfc_flow_parse_mark(sa, actions->conf, flow); in sfc_flow_parse_actions()
2363 struct rte_flow *flow, in sfc_flow_validate_match_flags() argument
2366 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_validate_match_flags()
2377 rc = sfc_flow_spec_filters_complete(sa, &flow->spec, error); in sfc_flow_validate_match_flags()
2382 if (sfc_flow_is_match_flags_exception(&sa->filter, &flow->spec)) { in sfc_flow_validate_match_flags()
2396 struct rte_flow *flow, in sfc_flow_parse_rte_to_filter() argument
2400 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_rte_to_filter()
2413 rc = sfc_flow_parse_actions(sa, actions, flow, error); in sfc_flow_parse_rte_to_filter()
2417 rc = sfc_flow_validate_match_flags(sa, flow, error); in sfc_flow_parse_rte_to_filter()
2431 struct rte_flow *flow, in sfc_flow_parse_rte_to_mae() argument
2435 struct sfc_flow_spec *spec = &flow->spec; in sfc_flow_parse_rte_to_mae()
2456 struct rte_flow *flow, in sfc_flow_parse() argument
2463 rc = sfc_flow_parse_attr(sa, attr, flow, error); in sfc_flow_parse()
2467 ops = sfc_flow_get_ops_by_spec(flow); in sfc_flow_parse()
2475 return ops->parse(dev, pattern, actions, flow, error); in sfc_flow_parse()
2481 struct rte_flow *flow; in sfc_flow_zmalloc() local
2483 flow = rte_zmalloc("sfc_rte_flow", sizeof(*flow), 0); in sfc_flow_zmalloc()
2484 if (flow == NULL) { in sfc_flow_zmalloc()
2490 return flow; in sfc_flow_zmalloc()
2494 sfc_flow_free(struct sfc_adapter *sa, struct rte_flow *flow) in sfc_flow_free() argument
2498 ops = sfc_flow_get_ops_by_spec(flow); in sfc_flow_free()
2500 ops->cleanup(sa, flow); in sfc_flow_free()
2502 rte_free(flow); in sfc_flow_free()
2506 sfc_flow_insert(struct sfc_adapter *sa, struct rte_flow *flow, in sfc_flow_insert() argument
2512 ops = sfc_flow_get_ops_by_spec(flow); in sfc_flow_insert()
2520 rc = ops->insert(sa, flow); in sfc_flow_insert()
2530 sfc_flow_remove(struct sfc_adapter *sa, struct rte_flow *flow, in sfc_flow_remove() argument
2536 ops = sfc_flow_get_ops_by_spec(flow); in sfc_flow_remove()
2544 rc = ops->remove(sa, flow); in sfc_flow_remove()
2554 sfc_flow_verify(struct sfc_adapter *sa, struct rte_flow *flow, in sfc_flow_verify() argument
2560 ops = sfc_flow_get_ops_by_spec(flow); in sfc_flow_verify()
2570 rc = ops->verify(sa, flow); in sfc_flow_verify()
2591 struct rte_flow *flow; in sfc_flow_validate() local
2594 flow = sfc_flow_zmalloc(error); in sfc_flow_validate()
2595 if (flow == NULL) in sfc_flow_validate()
2600 rc = sfc_flow_parse(dev, attr, pattern, actions, flow, error); in sfc_flow_validate()
2602 rc = sfc_flow_verify(sa, flow, error); in sfc_flow_validate()
2604 sfc_flow_free(sa, flow); in sfc_flow_validate()
2619 struct rte_flow *flow = NULL; in sfc_flow_create() local
2622 flow = sfc_flow_zmalloc(error); in sfc_flow_create()
2623 if (flow == NULL) in sfc_flow_create()
2628 rc = sfc_flow_parse(dev, attr, pattern, actions, flow, error); in sfc_flow_create()
2632 TAILQ_INSERT_TAIL(&sa->flow_list, flow, entries); in sfc_flow_create()
2635 rc = sfc_flow_insert(sa, flow, error); in sfc_flow_create()
2642 return flow; in sfc_flow_create()
2645 TAILQ_REMOVE(&sa->flow_list, flow, entries); in sfc_flow_create()
2648 sfc_flow_free(sa, flow); in sfc_flow_create()
2657 struct rte_flow *flow, in sfc_flow_destroy() argument
2667 if (flow_ptr == flow) in sfc_flow_destroy()
2678 rc = sfc_flow_remove(sa, flow, error); in sfc_flow_destroy()
2680 TAILQ_REMOVE(&sa->flow_list, flow, entries); in sfc_flow_destroy()
2681 sfc_flow_free(sa, flow); in sfc_flow_destroy()
2694 struct rte_flow *flow; in sfc_flow_flush() local
2699 while ((flow = TAILQ_FIRST(&sa->flow_list)) != NULL) { in sfc_flow_flush()
2703 rc = sfc_flow_remove(sa, flow, error); in sfc_flow_flush()
2708 TAILQ_REMOVE(&sa->flow_list, flow, entries); in sfc_flow_flush()
2709 sfc_flow_free(sa, flow); in sfc_flow_flush()
2758 struct rte_flow *flow; in sfc_flow_fini() local
2762 while ((flow = TAILQ_FIRST(&sa->flow_list)) != NULL) { in sfc_flow_fini()
2763 TAILQ_REMOVE(&sa->flow_list, flow, entries); in sfc_flow_fini()
2764 sfc_flow_free(sa, flow); in sfc_flow_fini()
2773 struct rte_flow *flow; in sfc_flow_stop() local
2777 TAILQ_FOREACH(flow, &sa->flow_list, entries) in sfc_flow_stop()
2778 sfc_flow_remove(sa, flow, NULL); in sfc_flow_stop()
2789 struct rte_flow *flow; in sfc_flow_start() local
2796 TAILQ_FOREACH(flow, &sa->flow_list, entries) { in sfc_flow_start()
2797 rc = sfc_flow_insert(sa, flow, NULL); in sfc_flow_start()