Lines Matching refs:flow

662 	struct rte_flow *flow = rte_malloc("igc flow filter",  in igc_alloc_flow()  local
664 if (flow == NULL) { in igc_alloc_flow()
669 flow->filter_type = type; in igc_alloc_flow()
672 memcpy(flow->filter, filter, inbytes); in igc_alloc_flow()
673 return flow; in igc_alloc_flow()
678 igc_append_flow(struct igc_flow_list *list, struct rte_flow *flow) in igc_append_flow() argument
680 TAILQ_INSERT_TAIL(list, flow, node); in igc_append_flow()
688 igc_remove_flow(struct igc_flow_list *list, struct rte_flow *flow) in igc_remove_flow() argument
690 TAILQ_REMOVE(list, flow, node); in igc_remove_flow()
691 rte_free(flow); in igc_remove_flow()
696 igc_is_flow_in_list(struct igc_flow_list *list, struct rte_flow *flow) in igc_is_flow_in_list() argument
701 if (it == flow) in igc_is_flow_in_list()
721 struct rte_flow *flow = NULL; in igc_flow_create() local
732 flow = igc_alloc_flow(&filter.ethertype, in igc_flow_create()
735 if (flow) in igc_flow_create()
748 flow = igc_alloc_flow(&filter.ntuple, IGC_FILTER_TYPE_NTUPLE, in igc_flow_create()
750 if (flow) in igc_flow_create()
754 flow = igc_alloc_flow(&filter.syn, IGC_FILTER_TYPE_SYN, in igc_flow_create()
756 if (flow) in igc_flow_create()
760 flow = igc_alloc_flow(&filter.rss, IGC_FILTER_TYPE_HASH, in igc_flow_create()
762 if (flow) { in igc_flow_create()
764 (struct igc_rss_filter *)flow->filter; in igc_flow_create()
779 if (flow) in igc_flow_create()
780 rte_free(flow); in igc_flow_create()
789 igc_append_flow(IGC_DEV_PRIVATE_FLOW_LIST(dev), flow); in igc_flow_create()
790 return flow; in igc_flow_create()
831 igc_disable_flow(struct rte_eth_dev *dev, struct rte_flow *flow) in igc_disable_flow() argument
835 switch (flow->filter_type) { in igc_disable_flow()
838 (struct igc_ethertype_filter *)&flow->filter); in igc_disable_flow()
842 (struct igc_ntuple_filter *)&flow->filter); in igc_disable_flow()
852 flow->filter_type); in igc_disable_flow()
862 struct rte_flow *flow, in igc_flow_destroy() argument
868 if (!flow) { in igc_flow_destroy()
874 if (!igc_is_flow_in_list(list, flow)) { in igc_flow_destroy()
875 PMD_DRV_LOG(ERR, "Flow(%p) not been found!", flow); in igc_flow_destroy()
879 ret = igc_disable_flow(dev, flow); in igc_flow_destroy()
885 igc_remove_flow(list, flow); in igc_flow_destroy()
902 struct rte_flow *flow; in igc_flow_flush() local
904 while ((flow = TAILQ_FIRST(list)) != NULL) { in igc_flow_flush()
905 igc_disable_flow(dev, flow); in igc_flow_flush()
906 igc_remove_flow(list, flow); in igc_flow_flush()