On Tue, 21 Nov 2023 13:24:07 -0500 Willem de Bruijn wrote:
Do you want to introduce a separate ID for page pools? That brings some
issues regarding network namespace isolation.
As a user API, it is also possible (and intuitive?) to refer to a
page_pool by (namespacified) ifindex plus netdev_rx_queue index,
or napi_id.
That does not work for "destroyed" pools. In general, there is
no natural key for a page pool I can think of.
In fairness, napi_id is also global, not per netns.
By iterating over "for_each_netdev(net, ..", dump already limits
output to pools in the same netns and get only reports pools that
match the netns.
So it's only a minor matter of visible numbering, and perhaps
superfluous new id.
The IDs are not stable. Any reconfiguration of a device will create
a new page pool and therefore assign a new ID. So applications can't
hold onto the ID long term.
That said the only use case for exposing the ID right now is to
implement do/GET (since there is no other unique key). And manual debug
with drgn, but that doesn't require uAPI. So if you prefer strongly
I can drop the ID from the uAPI and do/GET support.