Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-126746

dpll: Create userspace tool for managing and monitoring DPLL devices

Linking RHIVOS CVEs to...Migration: Automation ...RHELPRIO AssignedTeam ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • iproute
    • None
    • None
    • rhel-net-drivers-2
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      dpll: Add dpll command

      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:

      1. dpll device show
      2. dpll device id-get module-name ice
      3. dpll device set id 0 phase-offset-monitor enable
      4. dpll pin show
      5. dpll pin set id 0 frequency 10000000
      6. dpll pin set id 13 parent-device 0 state connected prio 10
      7. dpll pin set id 0 reference-sync 1 state connected
      8. dpll monitor
      9. dpll -j -p device show

              poros@redhat.com Petr Oros
              poros@redhat.com Petr Oros
              Petr Oros Petr Oros
              Ying Xu Ying Xu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: