On Thu, Jan 30, 2025 at 09:15:37PM +0000, Mina Almasry wrote:
From: Stanislav Fomichev sdf@fomichev.me
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@fomichev.me Signed-off-by: Mina Almasry almasrymina@google.com
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[] = {
...