MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sfc_flow_destroy_locked

Function sfc_flow_destroy_locked

dpdk/drivers/net/sfc/sfc_flow.c:2634–2662  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2632}
2633
2634int
2635sfc_flow_destroy_locked(struct sfc_adapter *sa, struct rte_flow *flow,
2636 struct rte_flow_error *error)
2637{
2638 struct rte_flow *flow_ptr;
2639 int rc = EINVAL;
2640
2641 SFC_ASSERT(sfc_adapter_is_locked(sa));
2642
2643 TAILQ_FOREACH(flow_ptr, &sa->flow_list, entries) {
2644 if (flow_ptr == flow)
2645 rc = 0;
2646 }
2647 if (rc != 0) {
2648 rte_flow_error_set(error, rc,
2649 RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
2650 "Failed to find flow rule to destroy");
2651 goto fail_bad_value;
2652 }
2653
2654 if (flow->internal || sa->state == SFC_ETHDEV_STARTED)
2655 rc = sfc_flow_remove(sa, flow, error);
2656
2657 TAILQ_REMOVE(&sa->flow_list, flow, entries);
2658 sfc_flow_free(sa, flow);
2659
2660fail_bad_value:
2661 return -rc;
2662}
2663
2664static int
2665sfc_flow_flush(struct rte_eth_dev *dev,

Callers 2

sfc_flow_destroyFunction · 0.85

Calls 3

rte_flow_error_setFunction · 0.85
sfc_flow_removeFunction · 0.85
sfc_flow_freeFunction · 0.85

Tested by

no test coverage detected