> After some feedback to the AI review. It still had minor feedback, do you > want more detail? > I can take this as is or you can send new version.
I think I can address only one warning from the AI review: the propagated return value in Patch 4. > Patch 2: If rte_eth_dev_create() succeeds but rte_eth_dev_get_by_name() > returns NULL, the created device is never added to the cleanup TAILQ > and leaks. The rte_eth_dev_create() does not return rte_eth_dev*, so I don't have a handle to cleanup something with rte_eth_dev_destroy(). The only solution that comes to my mind, is to add the rte_eth_dev temporary handle to let say a second 'temporary' TAILQ list inside nfb_eth_dev_init() (called in rte_eth_dev_create()), which will be checked after the rte_eth_dev_create() returns. However, it's still messy and doesn't solve the problem comprehensively. > Patch 3: nfb_default_dev_path() return value used without NULL check before > passing to nfb_open(). Both is fine (nfb_default_dev_path doesn't returns NULL, nfb_open can handle NULL: calls nfb_default_dev_path() internally in that case). > Patch 4: The kvargs callback returns errors from input validation (e.g., bad > port string) but ifc_params.ret is only set after nfb_eth_dev_create_for_ifc, > so the caller can overwrite the real error with 0. Fixed in v10. > Patch 8: Release notes don't mention the new vdev/simulation support from > patch 3. Quite a minor feature.

