Hi Jakob, On Mon, Aug 19, 2024 at 6:12 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Mon, 19 Aug 2024 14:37:41 -0400 Alexander Aring wrote: > > Recent patches introduced support to separate DLM lockspaces on a per > > net-namespace basis. Currently the file based configfs mechanism is used > > to configure parts of DLM. Due the lack of namespace awareness (and it's > > probably complicated to add support for this) in configfs we introduce a > > socket based UAPI using "netlink". As the DLM subsystem offers now a > > config layer it can simultaneously being used with configfs, just that > > nldlm is net-namespace aware. > > > > Most of the current configfs functionality that is necessary to > > configure DLM is being adapted for now. The nldlm netlink interface > > offers also a multicast group for lockspace events NLDLM_MCGRP_EVENT. > > This event group can be used as alternative to the already existing udev > > event behaviour just it only contains DLM related subsystem events. > > > > Attributes e.g. nodeid, port, IP addresses are expected from the user > > space to fill those numbers as they appear on the wire. In case of DLM > > fields it is using little endian byte order. > > > > The dumps are being designed to scale in future with high numbers of > > members in a lockspace. E.g. dump members require an unique lockspace > > identifier (currently only the name) and nldlm is using a netlink dump > > behaviour to be prepared if all entries may not fit into one netlink > > message. > > Did you consider using the YAML spec stuff to code gen the policies > and make user space easier? > I will try to take a look into that and prepare a spec for PATCHv2. I saw that there is a documentation about it at [0]. I did a kind of "prototype" libnldlm [1] to have easy access to the netlink api but if there are more common ways to generate code to easily access it, I am happy to give it a try. Thanks. - Alex [0] https://docs.kernel.org/userspace-api/netlink/specs.html [1] https://gitlab.com/netcoder/nldlm/