Subject: Re: [PATCH net-next v2 08/15] net: page_pool: add nlspec for basic access to page pools

From: Jakub Kicinski <[email-masked]>
Date: Tue, 21 Nov 2023 12:37:21 -0800

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.