Lines Matching defs:iter
175 rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
184 if (iter == NULL) {
195 memset(iter, 0, sizeof(*iter));
215 iter->cls_str = devargs_str + strlen(iter_anybus_str);
239 iter->cls_str = cls_str;
241 iter->bus = devargs.bus;
242 if (iter->bus->dev_iterate == NULL) {
248 if ((strcmp(iter->bus->name, "vdev") == 0) ||
249 (strcmp(iter->bus->name, "fslmc") == 0) ||
250 (strcmp(iter->bus->name, "dpaa_bus") == 0)) {
252 } else if (strcmp(iter->bus->name, "pci") == 0) {
270 iter->bus_str = bus_str;
273 iter->cls = rte_class_find_by_name("eth");
283 iter->bus->name);
291 rte_eth_iterator_next(struct rte_dev_iterator *iter)
293 if (iter == NULL) {
299 if (iter->cls == NULL) /* invalid ethdev iterator */
304 if (iter->bus != NULL &&
306 iter->class_device == NULL) {
308 iter->device = iter->bus->dev_iterate(
309 iter->device, iter->bus_str, iter);
310 if (iter->device == NULL)
314 iter->class_device = iter->cls->dev_iterate(
315 iter->class_device, iter->cls_str, iter);
316 if (iter->class_device != NULL) {
317 uint16_t id = eth_dev_to_id(iter->class_device);
319 rte_eth_trace_iterator_next(iter, id);
323 } while (iter->bus != NULL); /* need to try next rte_device */
326 rte_eth_iterator_cleanup(iter);
331 rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
333 if (iter == NULL) {
338 if (iter->bus_str == NULL)
341 rte_eth_trace_iterator_cleanup(iter);
343 free(RTE_CAST_FIELD(iter, bus_str, char *)); /* workaround const */
344 free(RTE_CAST_FIELD(iter, cls_str, char *)); /* workaround const */
345 memset(iter, 0, sizeof(*iter));