netlink: specs: devlink: describe the netns id in the parent-dev nest

devlink_nl_rate_parent_fill() emits DEVLINK_ATTR_PARENT_DEV via
devlink_nl_put_nested_handle(), which adds DEVLINK_ATTR_NETNS_ID
whenever the parent rate node lives on a devlink instance in another
netns. Now that we defined dl-nested-devlink subset, which unlike
dl-parent-dev includes netns-id, let's switch to it. The rate APIs
input genuinely does not accept the netns-id, so we need to subset
them to stick with dl-parent-dev.

Fixes: b5f90fd458 ("devlink: Add parent dev to devlink API")
Link: https://patch.msgid.link/20260915161341.1053476-8-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2026-09-15 09:13:39 -07:00
parent b1380f907c
commit 150079380e

View File

@ -912,7 +912,7 @@ attribute-sets:
-
name: parent-dev
type: nest
nested-attributes: dl-parent-dev
nested-attributes: dl-nested-devlink
doc: |
Identifies the devlink instance which owns the parent rate node.
Used with rate-set and rate-new to parent a rate object to a node on
@ -1390,6 +1390,10 @@ attribute-sets:
-
name: dl-parent-dev
subset-of: devlink
doc: |
Devlink handle accepted as the parent-dev input; the netns id the
kernel reports back is not accepted, the parent is always resolved
in the caller's netns.
attributes:
-
name: bus-name
@ -1398,6 +1402,37 @@ attribute-sets:
-
name: index
-
name: dl-rate-set
subset-of: devlink
doc: Attributes accepted by the rate-set and rate-new requests.
attributes:
-
name: bus-name
-
name: dev-name
-
name: index
-
name: port-index
-
name: rate-node-name
-
name: rate-tx-share
-
name: rate-tx-max
-
name: rate-tx-priority
-
name: rate-tx-weight
-
name: rate-parent-node-name
-
name: rate-tc-bws
-
name: parent-dev
nested-attributes: dl-parent-dev
-
name: dl-nested-devlink
subset-of: devlink
@ -2387,7 +2422,7 @@ operations:
-
name: rate-set
doc: Set rate instances.
attribute-set: devlink
attribute-set: dl-rate-set
dont-validate: [strict]
flags: [admin-perm]
do:
@ -2410,7 +2445,7 @@ operations:
-
name: rate-new
doc: Create rate instances.
attribute-set: devlink
attribute-set: dl-rate-set
dont-validate: [strict]
flags: [admin-perm]
do: