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.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
v2: include port-index in the subset attr list
---
Documentation/netlink/specs/devlink.yaml | 41 ++++++++++++++++++++++--
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/Documentation/netlink/specs/devlink.yaml b/Documentation/netlink/specs/devlink.yaml
index 5c9c672497d4..5535247faf14 100644
--- a/Documentation/netlink/specs/devlink.yaml
+++ b/Documentation/netlink/specs/devlink.yaml
@@ -912,7 +912,7 @@ doc: Partial family for Devlink.
-
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 @@ doc: Partial family for Devlink.
-
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 @@ doc: Partial family for Devlink.
-
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 @@ doc: Partial family for Devlink.
-
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 @@ doc: Partial family for Devlink.
-
name: rate-new
doc: Create rate instances.
- attribute-set: devlink
+ attribute-set: dl-rate-set
dont-validate: [strict]
flags: [admin-perm]
do:--
2.55.0