Re: devctl_notify system is inconsistent
- In reply to: Baptiste Daroussin : "devctl_notify system is inconsistent"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 01 Dec 2022 14:44:15 UTC
> On 1 Dec 2022, at 08:35, Baptiste Daroussin <bapt@FreeBSD.org> wrote: > > Hello, > > After the addition of netlink(4) by melifaro@, I started working on a new > genetlink(4) module, to send kernel notification to the userland via netlink. > > The goal is to be able to have multiple consumers without the need of devd to be > running. > > The goal is also to be able subscribe to the events the consumer is willing to > receive. > > https://reviews.freebsd.org/D37574 > > I also added a hook to devctl_notify to make sure all its event got sent via > nlsysevent. (https://reviews.freebsd.org/D37573) > > It works great and so far I am happy with it. on thing I figured out it is: > the "system" argment of devctl_notify is inconsistent: > Upper case vs lower case > "kern" vs "kernel" > > I intent to fix the following way: > Create a new function similar to devctl_notify but with the first argument being > an enum. I don’t have enough domain knowledge here, but generally, one of the important changes in generic netlink was to move away from the enum-like identifiers shared across the modules to strings. Having a single enum for the subsystem names would be hard for the third-part module authors as they have to guess/compete for the numbers. I’d advocate for leaving them as strings (maybe with enforcing some naming rules). > Make the current devctl_notify convert its first argument into that enum and > yell if an unkwown "system" is passed. (and probably declare devctl_notify > deprecated) > > Then fix the inconsistencies: all upper case as it seems the most wildly use > case > s/kern/kernel/g > > WDYT? > > Best regards, > Bapt >