On Fri, Jun 28, 2024 at 3:10 AM Donald Hunter donald.hunter@gmail.com wrote:
Mina Almasry almasrymina@google.com writes:
+The user must bind a dmabuf to any number of RX queues on a given NIC using +the netlink API::
/* Bind dmabuf to NIC RX queue 15 */
struct netdev_queue *queues;
queues = malloc(sizeof(*queues) * 1);
queues[0]._present.type = 1;
queues[0]._present.idx = 1;
queues[0].type = NETDEV_RX_QUEUE_TYPE_RX;
queues[0].idx = 15;
*ys = ynl_sock_create(&ynl_netdev_family, &yerr);
req = netdev_bind_rx_req_alloc();
netdev_bind_rx_req_set_ifindex(req, 1 /* ifindex */);
netdev_bind_rx_req_set_dmabuf_fd(req, dmabuf_fd);
__netdev_bind_rx_req_set_queues(req, queues, n_queue_index);
rsp = netdev_bind_rx(*ys, req);
dmabuf_id = rsp->dmabuf_id;
+The netlink API returns a dmabuf_id: a unique ID that refers to this dmabuf +that has been bound.
The docs don't mention the unbinding behaviour. Can you add the text from the commit message for patch 3 ?
Thanks, will do, if I end up sending another version of this with more feedback. If this gets merged I'll follow up with a patch updating the docs (there seems to be no other feedback at the moment).