Hi Ori, >+int >+rte_regexdev_register(struct rte_regexdev *dev) >+{ >+ uint16_t dev_id; >+ int res; >+ >+ if (dev->dev_ops == NULL) { >+ RTE_REGEXDEV_LOG(ERR, "RegEx device invalid device ops\n"); >+ return -EINVAL; >+ } >+ if (regexdev_allocated(dev->dev_name) != NULL) { >+ RTE_REGEXDEV_LOG >+ (ERR, "RegEx device with name %s already allocated\n", >+ dev->dev_name); >+ return -ENOMEM; >+ } >+ dev_id = regexdev_find_free_dev(); >+ if (dev_id == RTE_MAX_REGEXDEV_DEVS) { >+ RTE_REGEXDEV_LOG >+ (ERR, "Reached maximum number of regex devs\n"); >+ return -ENOMEM; >+ } >+ dev->dev_id = dev_id;
dev is of type struct rte_regexdev *, but I don't see in the definition of struct rte_regexdev a field dev_id >+ regex_devices[dev_id] = dev; >+ res = dev_id; >+ return res; >+}