diff mbox series

[net-next,v17,08/14] netlink: specs: add ethnl PHY_GET command set

Message ID 20240709063039.2909536-9-maxime.chevallier@bootlin.com (mailing list archive)
State New, archived
Headers show
Series Introduce PHY listing and link_topology tracking | expand

Commit Message

Maxime Chevallier July 9, 2024, 6:30 a.m. UTC
The PHY_GET command, supporting both DUMP and GET operations, is used to
retrieve the list of PHYs connected to a netdevice, and get topology
information to know where exactly it sits on the physical link.

Add the netlink specs corresponding to that command.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
 Documentation/netlink/specs/ethtool.yaml | 55 ++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

Comments

Christophe Leroy Aug. 14, 2024, 2:31 p.m. UTC | #1
Le 09/07/2024 à 08:30, Maxime Chevallier a écrit :
> The PHY_GET command, supporting both DUMP and GET operations, is used to
> retrieve the list of PHYs connected to a netdevice, and get topology
> information to know where exactly it sits on the physical link.
> 
> Add the netlink specs corresponding to that command.
> 
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Tested-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   Documentation/netlink/specs/ethtool.yaml | 55 ++++++++++++++++++++++++
>   1 file changed, 55 insertions(+)
> 
> diff --git a/Documentation/netlink/specs/ethtool.yaml b/Documentation/netlink/specs/ethtool.yaml
> index 586f1da8eb7b..d96a8050172b 100644
> --- a/Documentation/netlink/specs/ethtool.yaml
> +++ b/Documentation/netlink/specs/ethtool.yaml
> @@ -39,6 +39,11 @@ definitions:
>           - ovld-detected
>           - power-not-available
>           - short-detected
> +  -
> +    name: phy-upstream-type
> +    enum-name:
> +    type: enum
> +    entries: [ mac, phy ]
>   
>   attribute-sets:
>     -
> @@ -1088,6 +1093,35 @@ attribute-sets:
>         -
>           name: total
>           type: uint
> +  -
> +    name: phy
> +    attributes:
> +      -
> +        name: header
> +        type: nest
> +        nested-attributes: header
> +      -
> +        name: index
> +        type: u32
> +      -
> +        name: drvname
> +        type: string
> +      -
> +        name: name
> +        type: string
> +      -
> +        name: upstream-type
> +        type: u32
> +        enum: phy-upstream-type
> +      -
> +        name: upstream-index
> +        type: u32
> +      -
> +        name: upstream-sfp-name
> +        type: string
> +      -
> +        name: downstream-sfp-name
> +        type: string
>   
>   operations:
>     enum-model: directional
> @@ -1880,3 +1914,24 @@ operations:
>             - status-msg
>             - done
>             - total
> +    -
> +      name: phy-get
> +      doc: Get PHY devices attached to an interface
> +
> +      attribute-set: phy
> +
> +      do: &phy-get-op
> +        request:
> +          attributes:
> +            - header
> +        reply:
> +          attributes:
> +            - header
> +            - index
> +            - drvname
> +            - name
> +            - upstream-type
> +            - upstream-index
> +            - upstream-sfp-name
> +            - downstream-sfp-name
> +      dump: *phy-get-op
diff mbox series

Patch

diff --git a/Documentation/netlink/specs/ethtool.yaml b/Documentation/netlink/specs/ethtool.yaml
index 586f1da8eb7b..d96a8050172b 100644
--- a/Documentation/netlink/specs/ethtool.yaml
+++ b/Documentation/netlink/specs/ethtool.yaml
@@ -39,6 +39,11 @@  definitions:
         - ovld-detected
         - power-not-available
         - short-detected
+  -
+    name: phy-upstream-type
+    enum-name:
+    type: enum
+    entries: [ mac, phy ]
 
 attribute-sets:
   -
@@ -1088,6 +1093,35 @@  attribute-sets:
       -
         name: total
         type: uint
+  -
+    name: phy
+    attributes:
+      -
+        name: header
+        type: nest
+        nested-attributes: header
+      -
+        name: index
+        type: u32
+      -
+        name: drvname
+        type: string
+      -
+        name: name
+        type: string
+      -
+        name: upstream-type
+        type: u32
+        enum: phy-upstream-type
+      -
+        name: upstream-index
+        type: u32
+      -
+        name: upstream-sfp-name
+        type: string
+      -
+        name: downstream-sfp-name
+        type: string
 
 operations:
   enum-model: directional
@@ -1880,3 +1914,24 @@  operations:
           - status-msg
           - done
           - total
+    -
+      name: phy-get
+      doc: Get PHY devices attached to an interface
+
+      attribute-set: phy
+
+      do: &phy-get-op
+        request:
+          attributes:
+            - header
+        reply:
+          attributes:
+            - header
+            - index
+            - drvname
+            - name
+            - upstream-type
+            - upstream-index
+            - upstream-sfp-name
+            - downstream-sfp-name
+      dump: *phy-get-op