On Thu, Jan 30, 2025 at 09:15:37PM +0000, Mina Almasry wrote: > From: Stanislav Fomichev <sdf@xxxxxxxxxxx> > > Add bind-tx netlink call to attach dmabuf for TX; queue is not > required, only ifindex and dmabuf fd for attachment. > > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxxx> > Signed-off-by: Mina Almasry <almasrymina@xxxxxxxxxx> Hi Mina, I noticed minor issue relating to generated code. ... > diff --git a/Documentation/netlink/specs/netdev.yaml b/Documentation/netlink/specs/netdev.yaml > index cbb544bd6c84..93f4333e7bc6 100644 > --- a/Documentation/netlink/specs/netdev.yaml > +++ b/Documentation/netlink/specs/netdev.yaml The lines preceding the hunk below are: name: napi-set doc: Set configurable NAPI instance settings. attribute-set: napi flags: [ admin-perm ] do: request: attributes: - id > @@ -711,6 +711,18 @@ operations: > - defer-hard-irqs > - gro-flush-timeout > - irq-suspend-timeout > + - > + name: bind-tx > + doc: Bind dmabuf to netdev for TX > + attribute-set: dmabuf Unlike the entry for napi-set there is no "flags: [ admin-perm ]" fpr bind-tx... > + do: > + request: > + attributes: > + - ifindex > + - fd > + reply: > + attributes: > + - id > > kernel-family: > headers: [ "linux/list.h"] ... > diff --git a/net/core/netdev-genl-gen.c b/net/core/netdev-genl-gen.c ... > @@ -190,6 +196,13 @@ static const struct genl_split_ops netdev_nl_ops[] = { The lines preceding this hunk are: { .cmd = NETDEV_CMD_NAPI_SET, .doit = netdev_nl_napi_set_doit, .policy = netdev_napi_set_nl_policy, > .maxattr = NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, > .flags = GENL_ADMIN_PERM | GENL_CMD_CAP_DO, > }, > + { > + .cmd = NETDEV_CMD_BIND_TX, > + .doit = netdev_nl_bind_tx_doit, > + .policy = netdev_bind_tx_nl_policy, > + .maxattr = NETDEV_A_DMABUF_FD, > + .flags = GENL_ADMIN_PERM | GENL_CMD_CAP_DO, ... so I don't think GENL_ADMIN_PERM should be here. Flagged by running tools/net/ynl/ynl-regen.sh -f && git diff > + }, > }; > > static const struct genl_multicast_group netdev_nl_mcgrps[] = { ...