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

Function sfc_flow_parse

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

Source from the content-addressed store, hash-verified

2398}
2399
2400static int
2401sfc_flow_parse(struct rte_eth_dev *dev,
2402 const struct rte_flow_attr *attr,
2403 const struct rte_flow_item pattern[],
2404 const struct rte_flow_action actions[],
2405 struct rte_flow *flow,
2406 struct rte_flow_error *error)
2407{
2408 struct sfc_adapter *sa = sfc_adapter_by_eth_dev(dev);
2409 const struct sfc_flow_ops_by_spec *ops;
2410 int rc;
2411
2412 rc = sfc_flow_parse_attr(sa, attr, flow, error);
2413 if (rc != 0)
2414 return rc;
2415
2416 ops = sfc_flow_get_ops_by_spec(flow);
2417 if (ops == NULL || ops->parse == NULL) {
2418 rte_flow_error_set(error, ENOTSUP,
2419 RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
2420 "No backend to handle this flow");
2421 return -rte_errno;
2422 }
2423
2424 return ops->parse(dev, pattern, actions, flow, error);
2425}
2426
2427static struct rte_flow *
2428sfc_flow_zmalloc(struct rte_flow_error *error)

Callers 2

sfc_flow_validateFunction · 0.85
sfc_flow_create_lockedFunction · 0.85

Calls 4

sfc_adapter_by_eth_devFunction · 0.85
sfc_flow_parse_attrFunction · 0.85
sfc_flow_get_ops_by_specFunction · 0.85
rte_flow_error_setFunction · 0.85

Tested by

no test coverage detected