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

Function iavf_flow_uninit

dpdk/drivers/net/iavf/iavf_generic_flow.c:1830–1862  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1828}
1829
1830void
1831iavf_flow_uninit(struct iavf_adapter *ad)
1832{
1833 struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(ad);
1834 struct iavf_flow_engine *engine;
1835 struct rte_flow *p_flow;
1836 struct iavf_flow_parser_node *p_parser;
1837 void *temp;
1838
1839 RTE_TAILQ_FOREACH_SAFE(engine, &engine_list, node, temp) {
1840 if (engine->uninit)
1841 engine->uninit(ad);
1842 }
1843
1844 /* Remove all flows */
1845 while ((p_flow = TAILQ_FIRST(&vf->flow_list))) {
1846 TAILQ_REMOVE(&vf->flow_list, p_flow, node);
1847 if (p_flow->engine->free)
1848 p_flow->engine->free(p_flow);
1849 rte_free(p_flow);
1850 }
1851
1852 /* Cleanup parser list */
1853 while ((p_parser = TAILQ_FIRST(&vf->rss_parser_list))) {
1854 TAILQ_REMOVE(&vf->rss_parser_list, p_parser, node);
1855 rte_free(p_parser);
1856 }
1857
1858 while ((p_parser = TAILQ_FIRST(&vf->dist_parser_list))) {
1859 TAILQ_REMOVE(&vf->dist_parser_list, p_parser, node);
1860 rte_free(p_parser);
1861 }
1862}
1863
1864int
1865iavf_register_parser(struct iavf_flow_parser *parser,

Callers 1

iavf_dev_closeFunction · 0.85

Calls 1

rte_freeFunction · 0.85

Tested by

no test coverage detected