diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2025-02-05 00:56:17 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-02-07 03:27:31 +0300 |
commit | 2508a46f920a3130e35ab2183a70fc93f0aaaee4 (patch) | |
tree | a2866ce1065b600bb39008e08c3c30b332dc56a4 /net/core/devmem.c | |
parent | dcc0113acd3b77cca3c7e805fffd8ea4c5a675b3 (diff) | |
download | linux-2508a46f920a3130e35ab2183a70fc93f0aaaee4.tar.xz |
net: page_pool: add callback for mp info printing
Add a mandatory callback that prints information about the memory
provider to netlink.
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: David Wei <dw@davidwei.uk>
Link: https://patch.msgid.link/20250204215622.695511-7-dw@davidwei.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core/devmem.c')
-rw-r--r-- | net/core/devmem.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/core/devmem.c b/net/core/devmem.c index c81625ca57c6..63b790326c7d 100644 --- a/net/core/devmem.c +++ b/net/core/devmem.c @@ -406,9 +406,19 @@ bool mp_dmabuf_devmem_release_page(struct page_pool *pool, netmem_ref netmem) return false; } +static int mp_dmabuf_devmem_nl_fill(void *mp_priv, struct sk_buff *rsp, + struct netdev_rx_queue *rxq) +{ + const struct net_devmem_dmabuf_binding *binding = mp_priv; + int type = rxq ? NETDEV_A_QUEUE_DMABUF : NETDEV_A_PAGE_POOL_DMABUF; + + return nla_put_u32(rsp, type, binding->id); +} + static const struct memory_provider_ops dmabuf_devmem_ops = { .init = mp_dmabuf_devmem_init, .destroy = mp_dmabuf_devmem_destroy, .alloc_netmems = mp_dmabuf_devmem_alloc_netmems, .release_netmem = mp_dmabuf_devmem_release_page, + .nl_fill = mp_dmabuf_devmem_nl_fill, }; |