# Re: \[PATCH net-next v2 02/14\] selftests: dpll: add test library and device lifecycle tests

- From: Ivan Vecera \<ivecera@redhat.com\>
- Date: 2026-11-06 10:48:20 
- List: netdev
- Page: https://ratatoskr.run/netdev/2026/11/17877439
- Thread: https://ratatoskr.run/netdev/2026/11/17871508/t.md

```text
On 11/5/26 16:18, Petr Oros wrote:
> Add a shell library for DPLL selftests with wrappers around the iproute2
> dpll tool and around the dpllsim configfs interface, and the first two
> test scripts built on it. The library resolves devices by the clock ID
> chosen at creation time, since netlink ids depend on what else exists
> on the system, and the dpllsim helpers restrict the lookup to their
> module, so that a device of another driver with the same clock ID is
> never picked up. Every query runs the tool first and jq on what it
> printed, so that a failed query is told apart from a missing attribute.
> The library mounts configfs when nothing else did, and the exit trap of
> each script undoes that, removes the devices the script created and
> runs on INT and TERM as well, so that a timeout imposed by the harness
> still cleans up.
>
> Two runs of scripts that create dpllsim devices would share the one
> dpllsim directory and could draw the same clock IDs, so every such
> script takes a lock before it mounts or creates anything and skips when
> another run holds it. The lock file lives under /run rather than in
> /tmp, since the scripts run as root and open the file for writing, and
> a symlink planted in the world-writable /tmp would redirect that open.
>
> dpll_basic.sh checks that a device reports the mandatory attributes
> over netlink. It runs against the device named by DPLL_DEV_ID or the
> first device that is not a dpllsim one, and creates a dpllsim device
> when there is none, so the same script serves the simulator and real
> drivers. dpll_stress.sh is simulator only and exercises the lifecycle
> paths of the core by creating and deleting devices in a loop and by
> cycling one device through repeated register and unregister
> transitions. The dpllsim MAINTAINERS entry covers the new directory
> and the shared library.
>
> Signed-off-by: Petr Oros <redacted>
Reviewed-by: Ivan Vecera <ivecera@redhat.com>

```
