[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4pl7njahgvk4rfl7lamjjpg3ycoqghd4urdbzg7p6qo6my27kl@ugke7xximgtp>
Date: Sun, 9 Nov 2025 11:51:36 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Petr Oros <poros@...hat.com>
Cc: netdev@...r.kernel.org, dsahern@...nel.org, stephen@...workplumber.org,
Ivan Vecera <ivecera@...hat.com>
Subject: Re: [PATCH iproute2-next v2] dpll: Add dpll command
Fri, Nov 07, 2025 at 06:31:16PM +0100, poros@...hat.com wrote:
>Add a new userspace tool for managing and monitoring DPLL devices via the
>Linux kernel DPLL subsystem. The tool uses libmnl for netlink communication
>and provides a complete interface for device and pin configuration.
>
>The tool supports:
>
>- Device management: enumerate devices, query capabilities (lock status,
> temperature, supported modes, clock quality levels), configure phase-offset
> monitoring and averaging
>
>- Pin management: enumerate pins with hierarchical relationships, configure
> frequencies (including esync), phase adjustments, priorities, states, and
> directions
>
>- Complex topologies: handle parent-device and parent-pin relationships,
> reference synchronization tracking, multi-attribute queries (frequency
> ranges, capabilities)
>
>- ID resolution: query device/pin IDs by various attributes (module-name,
> clock-id, board-label, type)
>
>- Monitoring: real-time display of device and pin state changes via netlink
> multicast notifications
>
>- Output formats: both human-readable and JSON output (with pretty-print
> support)
>
>The tool belongs in iproute2 as DPLL devices are tightly integrated with
>network interfaces - modern NICs provide hardware clock synchronization
>support. The DPLL subsystem uses the same netlink infrastructure as other
>networking subsystems, and the tool follows established iproute2 patterns
>for command structure, output formatting, and error handling.
>
>Example usage:
>
> # dpll device show
> # dpll device id-get module-name ice
> # dpll device set id 0 phase-offset-monitor enable
> # dpll pin show
> # dpll pin set id 0 frequency 10000000
> # dpll pin set id 13 parent-device 0 state connected prio 10
> # dpll pin set id 0 reference-sync 1 state connected
> # dpll monitor
> # dpll -j -p device show
>
>Testing notes:
>
>Tested on real hardware with ice and zl3073x drivers. All commands work
>(device show/set/id-get, pin show/set/id-get, monitor). JSON output was
>carefully compared with cli.py - the tools are interchangeable.
>
>v2:
>- Added testing notes
>- Added MAINTAINERS entry
>- Removed unused -n parameter from man page
>
>Co-developed-by: Ivan Vecera <ivecera@...hat.com>
>Signed-off-by: Petr Oros <poros@...hat.com>
>Signed-off-by: Ivan Vecera <ivecera@...hat.com>
Looks good to me.
FWIW
Reviewed-by: Jiri Pirko <jiri@...dia.com>
Thanks!
Powered by blists - more mailing lists