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

Function fs_flow_validate

dpdk/drivers/net/failsafe/failsafe_flow.c:64–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64static int
65fs_flow_validate(struct rte_eth_dev *dev,
66 const struct rte_flow_attr *attr,
67 const struct rte_flow_item patterns[],
68 const struct rte_flow_action actions[],
69 struct rte_flow_error *error)
70{
71 struct sub_device *sdev;
72 uint8_t i;
73 int ret;
74
75 ret = fs_lock(dev, 0);
76 if (ret != 0)
77 return ret;
78 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) {
79 DEBUG("Calling rte_flow_validate on sub_device %d", i);
80 ret = rte_flow_validate(PORT_ID(sdev),
81 attr, patterns, actions, error);
82 if ((ret = fs_err(sdev, ret))) {
83 ERROR("Operation rte_flow_validate failed for sub_device %d"
84 " with error %d", i, ret);
85 fs_unlock(dev, 0);
86 return ret;
87 }
88 }
89 fs_unlock(dev, 0);
90 return 0;
91}
92
93static struct rte_flow *
94fs_flow_create(struct rte_eth_dev *dev,

Callers

nothing calls this directly

Calls 5

fs_lockFunction · 0.85
FOREACH_SUBDEV_STATEFunction · 0.85
rte_flow_validateFunction · 0.85
fs_errFunction · 0.85
fs_unlockFunction · 0.85

Tested by

no test coverage detected