Re: [PATCH v9 0/8] net/nfb: rework to real multiport

Martin Spinler
2026-02-17T07:09:43Z

> 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.